{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7f1e7b79",
   "metadata": {},
   "source": [
    "<font color=gray size=4> 2022-2023-02 </font> \n",
    "\n",
    "<font color=gray size=4> web_数据挖掘</font>\n",
    "\n",
    "<font color=gray size=4> 记录者：陈海静 </font>\n",
    "\n",
    "<font color=gray size=4> week01:文本图片一键式数据获取 </font>"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3b4bdf85",
   "metadata": {},
   "source": [
    "# 课程介绍\n",
    "\n",
    "* 本课程目标：数据挖掘（Web）+数据清洗+数据重塑+数据结论\n",
    "\n",
    "## [JupyterLab]\n",
    "\n",
    "\n",
    "----\n",
    "\n",
    "\n",
    "## [Pandas]\n",
    "\n",
    "-----\n",
    "\n",
    "> 1. [pandas cheat sheet 查询表](https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf)\n",
    "> 2. [pandas Getting started](https://pandas.pydata.org/getting_started.html)\n",
    ">> 1. 环境搭建\n",
    ">> 2. [Tutorials](https://jupyterlab.readthedocs.io/en/stable/user/interface.html)\n",
    ">> 3. [Books](https://amzn.to/3DyLaJc)\n",
    ">> 4. [Videos资源](https://jupyterlab.readthedocs.io/en/stable/user/interface.html)\n",
    "\n",
    "-----\n",
    "\n",
    "## [Requests-HTML]\n",
    "\n",
    "* [文档链接](https://requests.readthedocs.io/projects/requests-html/en/latest/)\n",
    "\n",
    "-----\n",
    "\n",
    "\n",
    "\n",
    "## [Xpath]\n",
    "\n",
    "* [cheat sheet](https://devhints.io/xpath)\n",
    "\n",
    "-----\n",
    "\n",
    "\n",
    "\n",
    "## [Selenium]\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b027751c",
   "metadata": {},
   "source": [
    "# jupyter notebook键盘快捷键\n",
    "___\n",
    "\n",
    "## 进入命令模式之后（此时你没有活跃单元），你可以尝试以下快捷键：\n",
    "* A 会在活跃单元之上插入一个新的单元，B 会在活跃单元之下插入一个新单元。\n",
    "* 连续按两次 D，可以删除一个单元。\n",
    "* 撤销被删除的单元，按 Z。\n",
    "* Y 会将当前活跃的单元变成一个代码单元。\n",
    "* 按住 Shift +上或下箭头可选择多个单元。在多选模式时，按住 Shift + M 可合并你的选择。\n",
    "* 按 F 会弹出「查找和替换」菜单。\n",
    "___\n",
    "## 处于编辑模式时（在命令模式时按 Enter 会进入编辑模式），你会发现下列快捷键很有用：\n",
    "* Ctrl + Home 到达单元起始位置。\n",
    "* Ctrl + S 保存进度。\n",
    "* 如之前提到的，Ctrl + Enter 会运行你的整个单元块。\n",
    "* Alt + Enter 不止会运行你的单元块，还会在下面添加一个新单元。\n",
    "* Ctrl + Shift + F 打开命令面板。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3b251212",
   "metadata": {},
   "source": [
    "# 体验项目一（页面表格数据）\n",
    "\n",
    "* 核心模块体验(Pandas)\n",
    "\n",
    "> 1. pd.read_html()\n",
    "> 2. pd.groupby()\n",
    "> 3. pd.to_excel()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a62bbfe3",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9cb588e",
   "metadata": {},
   "source": [
    "## pd.read_html()\n",
    "\n",
    "* 参考文档：[read_html](https://pandas.pydata.org/docs/reference/api/pandas.read_html.html)\n",
    "> 1. Read HTML tables into a list of DataFrame objects."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "85d9f3f2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[     0     1             2          3            4    5     6     7\n",
       " 0   排名  排名变化            企业  价值（亿元人民币）  价值变化（亿元人民币）   总部    行业  成立年份\n",
       " 1    1     0            抖音      13400       -10050   北京  社交媒体  2012\n",
       " 2    2     1        SpaceX       8400         1680  洛杉矶    航天  2002\n",
       " 3    3    -1          蚂蚁集团       8000        -2010   杭州  金融科技  2014\n",
       " 4    4     0        Stripe       4100        -2230  旧金山  金融科技  2010\n",
       " 5    5    11         Shein       4000         2680   广州  电子商务  2012\n",
       " 6    6    15            币安       3000         2010  马耳他   区块链  2017\n",
       " 7    7     1    Databricks       2500            0  旧金山   大数据  2013\n",
       " 8    8     3          微众银行       2200          200   深圳  金融科技  2014\n",
       " 9    9     2          京东科技       2000            0   北京  数字科技  2013\n",
       " 10  10    11  Checkout.com       1900          870   伦敦  金融科技  2012,\n",
       "       0      1           2   3    4      5          6\n",
       " 0   NaN     国家   独角兽数量（变化） NaN  NaN     城市  独角兽数量（变化）\n",
       " 1    1-     美国  625 (+138) NaN   1-    旧金山  176 (+25)\n",
       " 2    2-     中国   312 (+11) NaN   2↑     纽约  120 (+35)\n",
       " 3    3-     印度    68 (+14) NaN   3↓     北京    90 (-1)\n",
       " 4    4-     英国     46 (+7) NaN   4-     上海    69 (-2)\n",
       " 5    5-     德国    36 (+10) NaN   5↑     伦敦    39 (+8)\n",
       " 6    6↑    以色列     24 (+7) NaN   6↓     深圳    33 (+1)\n",
       " 7    7↓     法国     23 (+4) NaN   6↑   班加罗尔    33 (+5)\n",
       " 8    8-    加拿大     21 (+6) NaN   8↑     柏林    23 (+6)\n",
       " 9    9-     巴西     17 (+5) NaN   9↓     杭州    21 (-1)\n",
       " 10  10-     韩国     15 (+5) NaN   9-     巴黎    21 (+3)\n",
       " 11  11-    新加坡     12 (+5) NaN  11↑  帕洛阿尔托    19 (+7)\n",
       " 12  12↑     瑞典      8 (+4) NaN  11↑     广州    19 (+9)\n",
       " 13  12↑     日本      8 (+2) NaN  13↓    波士顿    17 (+5)\n",
       " 14  12↑   澳大利亚      8 (+3) NaN  14↓    山景城    15 (+3)\n",
       " 15  15↑     荷兰      7 (+4) NaN  14↑   特拉维夫    15 (+4)\n",
       " 16  15↓    墨西哥      7 (+2) NaN  14↑    圣保罗    15 (+5)\n",
       " 17  17↓     瑞士      6 (+2) NaN  17↓    芝加哥    13 (-2)\n",
       " 18  18↓  印度尼西亚      5 (-2) NaN  18↑     孟买    12 (+3)\n",
       " 19  18*     越南      5 (+4) NaN  18↑    新加坡    12 (+5)\n",
       " 20  18↑     挪威      5 (+3) NaN  18↓    古尔冈     12 (0)\n",
       " 21  21↓     芬兰      4 (+2) NaN  21↓  雷德伍德城     11 (0)\n",
       " 22  21↓    爱尔兰      4 (+2) NaN  21↑    洛杉矶    11 (+2)\n",
       " 23  23↓    阿联酋      3 (+1) NaN  21↓   圣马特奥     11 (0)\n",
       " 24  23↓   哥伦比亚      3 (+1) NaN  21↑     首尔    11 (+4)\n",
       " 25  23↓    奥地利      3 (+1) NaN  25↑   美国剑桥     9 (+2)\n",
       " 26  23↓    西班牙       3 (0) NaN  25*    奥斯汀     9 (+4)\n",
       " 27  23↓    土耳其      3 (+1) NaN  25*     丹佛     9 (+5)\n",
       " 28  23↓    菲律宾      3 (+1) NaN  25*     成都     9 (+4)\n",
       " 29  29↓     泰国       2 (0) NaN  29*    迈阿密     8 (+3)\n",
       " 30  29*    比利时      2 (+1) NaN  29*    华盛顿     8 (+3)\n",
       " 31  29↓   尼日利亚       2 (0) NaN  NaN    NaN        NaN\n",
       " 32  29↓     丹麦       2 (0) NaN  NaN    NaN        NaN\n",
       " 33  29*   爱沙尼亚      2 (+1) NaN  NaN    NaN        NaN\n",
       " 34  29*     智利      2 (+1) NaN  NaN    NaN        NaN\n",
       " 35  29↓    马耳他       2 (0) NaN  NaN    NaN        NaN\n",
       " 36  29*    立陶宛      2 (+1) NaN  NaN    NaN        NaN,\n",
       "      0    1          2      3   4    5      6          7      8   9     10  \\\n",
       " 0   NaN   城市  独角兽数量（变化）  占中国比例 NaN  NaN     城市  独角兽数量（变化）  占美国比例 NaN   NaN   \n",
       " 1    1-   北京    90 (-1)    29% NaN   1-    旧金山  176 (+25)    28% NaN   1.0   \n",
       " 2    2-   上海    69 (-2)    22% NaN   2-     纽约  120 (+35)    19% NaN   2.0   \n",
       " 3    3-   深圳    33 (+1)    11% NaN   3↑  帕洛阿尔托    19 (+7)     3% NaN   3.0   \n",
       " 4    4-   杭州    21 (-1)     7% NaN   4-    波士顿    17 (+5)     3% NaN   4.0   \n",
       " 5    5-   广州    19 (+9)     6% NaN   5↓    山景城    15 (+3)     2% NaN   5.0   \n",
       " 6    6↑   成都     9 (+4)     3% NaN   6↓    芝加哥    13 (-2)     2% NaN   5.0   \n",
       " 7    7↑   苏州     7 (+2)     2% NaN   7-  雷德伍德城     11 (0)     2% NaN   7.0   \n",
       " 8    7↓   南京     7 (-3)     2% NaN   7-   圣马特奥     11 (0)     2% NaN   7.0   \n",
       " 9    7-   香港      7 (0)     2% NaN   7↑    洛杉矶    11 (+2)     2% NaN   7.0   \n",
       " 10  10↓   青岛      5 (0)     2% NaN  10*     剑桥     9 (+2)     1% NaN  10.0   \n",
       " 11  NaN  NaN        NaN    NaN NaN  10*    奥斯汀     9 (+4)     1% NaN   NaN   \n",
       " 12  NaN  NaN        NaN    NaN NaN  10*     丹佛     9 (+5)     1% NaN   NaN   \n",
       " \n",
       "       11         12       13  \n",
       " 0     城市  独角兽数量（变化）  占其他国家比例  \n",
       " 1     伦敦    39 (+8)      10%  \n",
       " 2   班加罗尔    33 (+5)       9%  \n",
       " 3     柏林    23 (+6)       6%  \n",
       " 4     巴黎    21 (+3)       6%  \n",
       " 5    圣保罗    15 (+5)       4%  \n",
       " 6   特拉维夫    15 (+4)       4%  \n",
       " 7    新加坡    12 (+5)       3%  \n",
       " 8    古尔冈     12 (0)       3%  \n",
       " 9     孟买    12 (+3)       3%  \n",
       " 10    首尔    11 (+4)       3%  \n",
       " 11   NaN        NaN      NaN  \n",
       " 12   NaN        NaN      NaN  ,\n",
       "     0     1           2             3   4    5     6           7   \\\n",
       " 0  NaN    行业  独角兽数量占中国比例          代表企业 NaN  NaN    行业  独角兽数量占美国比例   \n",
       " 1  1.0  健康科技         10%       联影医疗、微医 NaN  1.0  软件服务         14%   \n",
       " 2  1.0  人工智能         10%     小马智行、文远知行 NaN  2.0  金融科技         11%   \n",
       " 3  3.0  电子商务          9%  Shein、车好多、得物 NaN  3.0  健康科技          9%   \n",
       " 4  3.0   半导体          9%    集创北方、歌尔微电子 NaN  4.0  人工智能          8%   \n",
       " 5  5.0  软件服务          6%      小红书、58同城 NaN  4.0  网络安全          8%   \n",
       " 6  5.0  企业服务          6%     京东产发、行云集团 NaN  NaN   NaN         NaN   \n",
       " 7  NaN   NaN         NaN           NaN NaN  NaN   NaN         NaN   \n",
       " \n",
       "                            8   9    10    11            12  \\\n",
       " 0                        代表企业 NaN  NaN    行业  独角兽数量占其他国家比例   \n",
       " 1       Rippling, Notion Labs NaN  1.0  金融科技           23%   \n",
       " 2  Stripe, Citadel Securities NaN  2.0  电子商务           17%   \n",
       " 3          Devoted Health, Ro NaN  3.0   区块链            6%   \n",
       " 4         Grammarly, Talkdesk NaN  3.0  软件服务            6%   \n",
       " 5            Tanium, Lacework NaN  5.0    游戏            4%   \n",
       " 6                         NaN NaN  5.0    物流            4%   \n",
       " 7                         NaN NaN  5.0  网络安全            4%   \n",
       " \n",
       "                       13  \n",
       " 0                   代表企业  \n",
       " 1  Checkout.com, Revolut  \n",
       " 2     J&T Express, Kavak  \n",
       " 3                币安, FTX  \n",
       " 4            Canva, Snyk  \n",
       " 5   Dream11, Moon Active  \n",
       " 6           Forto, Loggi  \n",
       " 7         1Password, Wiz  ,\n",
       "      0     1      2          3            4   5     6     7\n",
       " 0   排名  排名变化     企业  价值（亿元人民币）  价值变化（亿元人民币）  总部    行业  成立年份\n",
       " 1    1     0     抖音      13400       -10050  北京  社交媒体  2012\n",
       " 2    2     0   蚂蚁集团       8000        -2010  杭州  金融科技  2014\n",
       " 3    3     3  Shein       4000         2680  广州  电子商务  2012\n",
       " 4    4     0   微众银行       2200          200  深圳  金融科技  2014\n",
       " 5    5    -1   京东科技       2000            0  北京  数字科技  2013\n",
       " 6    6    -3   菜鸟网络       1800         -470  杭州    物流  2013\n",
       " 7    7    -1    小红书       1300            0  上海  软件服务  2013\n",
       " 8    8     0     大疆       1200          130  深圳   机器人  2006\n",
       " 9    9    24   联影医疗       1040          700  上海  健康科技  2010\n",
       " 10  10    -1   元气森林       1000            0  北京  食品饮料  2016,\n",
       "        0      1        2         3\n",
       " 0    NaN     国家  全球GDP排名  GDP（亿美元）\n",
       " 1    1.0    俄罗斯       11     14830\n",
       " 2    2.0  沙特阿拉伯       20      7000\n",
       " 3    3.0     波兰       21      5970\n",
       " 4    4.0   委内瑞拉       25      4820\n",
       " 5    5.0     埃及       31      3650\n",
       " 6    6.0     南非       39      3350\n",
       " 7    7.0   孟加拉国       40      3230\n",
       " 8    8.0   巴基斯坦       44      2630\n",
       " 9    9.0   罗马尼亚       46      2490\n",
       " 10  10.0    葡萄牙       48      2290,\n",
       "      0    1           2      3\n",
       " 0  NaN   地区   独角兽数量（变化）  总价值占比\n",
       " 1   1-   北美  654 (+145)    46%\n",
       " 2   2-   亚洲   462 (+51)    40%\n",
       " 3  3 -   欧洲   159 (+45)    12%\n",
       " 4  4 -   南美     24 (+8)     1%\n",
       " 5  5 -  大洋洲      9 (+4)     1%\n",
       " 6  6 -   非洲      4 (+1)   0.2%,\n",
       "        0                   1          2    3      4     5\n",
       " 0    NaN                  企业  价值（亿元人民币）   国家     行业  成立年份\n",
       " 1    1.0  Citadel Securities       1500   美国   金融科技  2001\n",
       " 2    2.0                Miro       1170   美国   企业服务  2011\n",
       " 3    3.0                  滴滴        965   中国   共享经济  2012\n",
       " 4    4.0          The CrownX        550   越南    消费品  2019\n",
       " 5    5.0              Dunamu        535   韩国    区块链  2012\n",
       " 6    6.0                远景动力        430   中国    新能源  2019\n",
       " 7    7.0              KuCoin        420  塞舌尔    区块链  2017\n",
       " 8    8.0    iCapital Network        400   美国   金融科技  2013\n",
       " 9    9.0                广汽埃安        390   中国  新能源汽车  2017\n",
       " 10  10.0     RELEX Solutions        380   芬兰   企业服务  2005\n",
       " 11  10.0  The Boring Company        380   美国     建筑  2016,\n",
       "           0     1             2\n",
       " 0    排名（变化）    行业   独角兽数量占比（变化）\n",
       " 1    1 (+1)  金融服务   18% (+5.9%)\n",
       " 2    2 (-1)  企业管理   17% (-6.1%)\n",
       " 3    3 (+1)  医疗健康  9.6% (+3.2%)\n",
       " 4    4 (-1)    零售   8.7% (-10%)\n",
       " 5    5 (+1)  网络安全     5% (+19%)\n",
       " 6    6 (-1)    物流  4.6% (+4.5%)\n",
       " 7     7 (0)    运输  3.3% (-5.7%)\n",
       " 8    8 (+1)    能源   2.8% (+56%)\n",
       " 9        9*   半导体          2.1%\n",
       " 10    9 (0)  食品饮料   2.1% (+17%)\n",
       " 11  11 (-2)    教育  1.9% (+5.6%)\n",
       " 12  11 (-3)  消费电子   1.9% (-30%)\n",
       " 13  13 (+1)    游戏     1.5% (0%)\n",
       " 14  14 (-5)    汽车   1.4% (-22%)\n",
       " 15  15 (+2)   房地产  1.3% (-7.1%)\n",
       " 16      15*    航天  1.3% (+8.3%)\n",
       " 17  17 (-3)  生命科学   1.2% (-20%)\n",
       " 18  18 (-4)  传媒娱乐     1% (-33%)\n",
       " 19  18 (-5)    酒店     1% (-38%)\n",
       " 20  18 (-1)    传播     1% (-29%),\n",
       "           0     1          2      3\n",
       " 0    排名（变化）    行业  独角兽数量（变化）  总价值占比\n",
       " 1     1 (0)  金融科技  168 (+29)  17.6%\n",
       " 2    2 (+1)  电子商务   127 (+5)   9.1%\n",
       " 3     2 (0)  软件服务   127 (-7)     9%\n",
       " 4    4 (+1)  健康科技   97 (+17)   5.3%\n",
       " 5    5 (-1)  人工智能   94 (+10)   5.7%\n",
       " 6     6 (0)  网络安全   61 (+21)   3.3%\n",
       " 7    7 (+1)   区块链   52 (+22)   5.4%\n",
       " 8       8 *  企业服务   40 (+22)   2.1%\n",
       " 9       8 *    物流    40 (+8)   3.1%\n",
       " 10  10 (-3)  生物科技    37 (+6)   1.9%,\n",
       "           0         1          2           3\n",
       " 0    排名（变化）      主营业务  独角兽数量（变化）  总价值（亿元人民币）\n",
       " 1     1 (0)      在线市场    70 (+3)       13000\n",
       " 2     2 (0)        支付    41 (-2)       22000\n",
       " 3     3 (0)      数字银行    25 (+5)        4100\n",
       " 4        4*      网络安全         17        2400\n",
       " 5        5*       云安全         16        2700\n",
       " 6    5 (+1)      在线教育    16 (+3)        2400\n",
       " 7    7 (+1)     云数据服务    15 (+4)        1800\n",
       " 8        7*        保险         15        2200\n",
       " 9        7*    人力资源管理         15        2800\n",
       " 10  10 (-6)      生物制药     14 (0)        1400\n",
       " 11  10 (-3)  虚拟货币交易平台         14        7400,\n",
       "        0               1          2      3   4\n",
       " 0   成立年份              企业  价值（亿元人民币）     行业  国家\n",
       " 1   2022        MSquared         67    区块链  英国\n",
       " 2   2021            极氪汽车        600  新能源汽车  中国\n",
       " 3   2021    Sierra Space        300     航天  美国\n",
       " 4   2021       Yuga Labs        265    区块链  美国\n",
       " 5   2021       Autograph        250    区块链  美国\n",
       " 6   2021   Aleph Holding        135     传媒  美国\n",
       " 7   2021      ClickHouse        135    大数据  美国\n",
       " 8   2021        Saks.com        135   电子商务  美国\n",
       " 9   2021            洛轲智能        135  新能源汽车  中国\n",
       " 10  2021            星空华文        110     娱乐  中国\n",
       " 11  2021            JOKR         80     快递  美国\n",
       " 12  2021         Phantom         80    区块链  美国\n",
       " 13  2021   Candy Digital         75   金融科技  美国\n",
       " 14  2021      GlobalBees         75     投资  印度\n",
       " 15  2021       Anthropic         67   人工智能  美国\n",
       " 16  2021           Aptos         67    区块链  美国\n",
       " 17  2021         Emplifi         67    云计算  美国\n",
       " 18  2021  LayerZero Labs         67    区块链  美国\n",
       " 19  2021    Mensa Brands         67     投资  印度,\n",
       "       0                    1            2     3  \\\n",
       " 0   NaN                 投资机构  上榜独角兽数量（变化）  创立国家   \n",
       " 1    1-                 红杉资本    234 (+28)    美国   \n",
       " 2    2↑                   软银    180 (+34)    日本   \n",
       " 3    3↓               老虎环球基金    169 (+22)    美国   \n",
       " 4    4↑                   腾讯     90 (+22)    中国   \n",
       " 5    5-     Insight Partners     89 (+18)    美国   \n",
       " 6    6↓                Accel     85 (+11)    美国   \n",
       " 7    7-  Andreessen Horowitz     84 (+14)    美国   \n",
       " 8    8*         Y Combinator     80 (+22)    美国   \n",
       " 9    9↑               Coatue     78 (+11)    美国   \n",
       " 10  10↓                   高盛      75 (+4)    美国   \n",
       " \n",
       "                                   4  \n",
       " 0                           主要全球合伙人  \n",
       " 1                 Roelof Botha, 沈南鹏  \n",
       " 2                  Junichi Miyakawa  \n",
       " 3     Scott Shleifer, Chase Coleman  \n",
       " 4                               刘炽平  \n",
       " 5                       Jeff Horing  \n",
       " 6   Jim R. Swartz, Arthur Patterson  \n",
       " 7                      Ben Horowitz  \n",
       " 8                Jessica Livingston  \n",
       " 9                  Kris Fredrickson  \n",
       " 10                    David Solomon  ,\n",
       "            0        1                        2              3\n",
       " 0     排名（变化）     投资机构                 Investor  上榜中国独角兽数量（变化）\n",
       " 1         1-     红杉中国            Sequoia China       103 (+7)\n",
       " 2     2 (+3)     中金资本                     CICC       71 (+41)\n",
       " 3     3 (+1)       腾讯                  Tencent       55 (+14)\n",
       " 4     4 (-1)    IDG资本              IDG Capital         50 (0)\n",
       " 5     5 (-3)     高瓴资本        Hillhouse Capital        44 (-8)\n",
       " 6         6*     中信资本                    CITIC             35\n",
       " 7         7-     经纬中国    Matrix Partners China        29 (+5)\n",
       " 8     8 (+4)     阿里巴巴                  Alibaba       28 (+10)\n",
       " 9     9 (-3)     启明创投  Qiming Venture Partners        26 (+1)\n",
       " 10    9 (+2)       软银                 Softbank        26 (+7)\n",
       " 11       11*  CPE源峰资本           CPE Investment             25\n",
       " 12   12 (-4)     云锋基金               YF Capital        24 (+2)\n",
       " 13   13 (-4)     纪源资本              GGV Capital        23 (+3)\n",
       " 14   13 (+1)     五源资本               5Y Capital        23 (+6)\n",
       " 15   15 (-6)     顺为资本          Shunwei Capital         20 (0)\n",
       " 16   16 (+7)     君联资本           Legend Capital       19 (+12)\n",
       " 17   16 (+7)       小米                   Xiaomi       19 (+12)\n",
       " 18   16 (+7)      淡马锡                  Temasek       19 (+12)\n",
       " 19   16 (-1)     鼎晖投资                      CDH        19 (+4)\n",
       " 20   20 (-3)  SIG海纳亚洲                      SIG        16 (+5)\n",
       " 21       20*     元禾控股                    Oriza             16\n",
       " 22       20*      深创投                     SCGC             16\n",
       " 23       20*     建银国际        CCB international             16\n",
       " 24   20 (+9)     钟鼎资本     Eastern Bell Capital       16 (+10)\n",
       " 25       25*       中银                      BOC             14\n",
       " 26       25*     松禾资本       Green Pine Capital             14\n",
       " 27  27 (-15)     真格基金                Zhen Fund        13 (-5)\n",
       " 28       27*     源码资本      Source Code Capital             13\n",
       " 29       27*       春华                Primavera             13\n",
       " 30       27*     基石资本                 Co-stone             13,\n",
       "       0     1         2   3     4    5          6   7     8     9           10\n",
       " 0    NaN    国家  全球瞪羚数量占比 NaN   NaN   国家  全球独角兽数量占比 NaN   NaN    国家  世界500强数量占比\n",
       " 1    1.0    美国       38% NaN   1.0   美国        48% NaN   1.0    美国         49%\n",
       " 2    2.0    中国       32% NaN   2.0   中国        24% NaN   2.0    中国          9%\n",
       " 3    3.0    印度        7% NaN   3.0   印度         5% NaN   3.0    日本          6%\n",
       " 4    4.0    英国        5% NaN   4.0   英国         4% NaN   4.0    英国          5%\n",
       " 5    5.0    德国      2.4% NaN   5.0   德国         3% NaN   5.0    德国          4%\n",
       " 6    6.0   以色列      1.8% NaN   6.0  以色列         2% NaN   6.0    法国        3.8%\n",
       " 7    6.0   新加坡      1.8% NaN   7.0   法国       1.8% NaN   7.0   加拿大        3.4%\n",
       " 8    6.0    法国      1.8% NaN   8.0  加拿大       1.6% NaN   8.0    瑞士          3%\n",
       " 9    9.0   加拿大      1.1% NaN   9.0   巴西       1.3% NaN   9.0    印度        2.4%\n",
       " 10  10.0    瑞士        1% NaN  10.0   韩国       1.1% NaN  10.0  澳大利亚        2.2%\n",
       " 11  10.0  澳大利亚        1% NaN   NaN  NaN        NaN NaN   NaN   NaN         NaN,\n",
       "      0     1         2   3    4     5          6   7    8     9           10\n",
       " 0   NaN    城市  全球瞪羚数量占比 NaN  NaN    城市  全球独角兽数量占比 NaN  NaN    城市  世界500强数量占比\n",
       " 1   1.0   旧金山       11% NaN  1.0   旧金山        13% NaN  1.0    纽约          6%\n",
       " 2   2.0    上海       10% NaN  2.0    纽约         9% NaN  2.0    伦敦        3.4%\n",
       " 3   3.0    北京        7% NaN  3.0    北京         7% NaN  2.0    东京        3.4%\n",
       " 4   4.0    纽约        6% NaN  4.0    上海         5% NaN  4.0   旧金山          3%\n",
       " 5   5.0    伦敦      4.7% NaN  5.0    伦敦         3% NaN  5.0    巴黎        2.8%\n",
       " 6   6.0    深圳      4.5% NaN  6.0    深圳       2.5% NaN  6.0    北京        1.8%\n",
       " 7   7.0    杭州      2.9% NaN  6.0  班加罗尔       2.5% NaN  6.0   圣何塞        1.8%\n",
       " 8   8.0  班加罗尔      2.7% NaN  8.0    柏林       1.8% NaN  8.0  圣克拉拉        1.6%\n",
       " 9   9.0    苏州      1.8% NaN  9.0    杭州       1.6% NaN  8.0   芝加哥        1.6%\n",
       " 10  9.0   波士顿      1.8% NaN  9.0    巴黎       1.6% NaN  8.0    孟买        1.6%\n",
       " 11  9.0   新加坡      1.8% NaN  NaN   NaN        NaN NaN  NaN   NaN         NaN,\n",
       "     0     1         2   3    4     5          6   7    8      9           10\n",
       " 0  NaN    行业  全球瞪羚数量占比 NaN  NaN    行业  全球独角兽数量占比 NaN  NaN     行业  世界500强数量占比\n",
       " 1  1.0  医疗健康       23% NaN  1.0  金融服务        18% NaN  1.0   金融服务         19%\n",
       " 2  2.0  金融服务       18% NaN  2.0  企业管理        17% NaN  2.0   医疗健康         12%\n",
       " 3  3.0  企业管理       17% NaN  3.0  医疗健康        10% NaN  3.0     能源        7.4%\n",
       " 4  4.0    零售        5% NaN  4.0    零售         9% NaN  4.0  软件与服务        7.2%\n",
       " 5  5.0    物流        3% NaN  5.0  网络安全         5% NaN  5.0     零售          6%,\n",
       "           0        1       2    3    4\n",
       " 0       NaN  销售软件和服务  销售实体产品  B2B  B2C\n",
       " 1    全球瞪羚企业      74%     26%  58%  42%\n",
       " 2   全球独角兽企业      80%     20%  52%  48%\n",
       " 3  世界500强企业      46%     54%  44%  56%,\n",
       "      0   1            2   3     4    5            6   7     8    9   \\\n",
       " 0   NaN  城市  中国猎豹数量占全国比例 NaN   NaN   城市  中国瞪羚数量占全国比例 NaN   NaN   城市   \n",
       " 1   1.0  上海          22% NaN   1.0   上海          31% NaN   1.0   北京   \n",
       " 2   2.0  北京          20% NaN   2.0   北京          22% NaN   2.0   上海   \n",
       " 3   3.0  深圳          12% NaN   3.0   深圳          14% NaN   3.0   深圳   \n",
       " 4   3.0  杭州          12% NaN   4.0   杭州           9% NaN   4.0   杭州   \n",
       " 5   5.0  苏州         6.2% NaN   5.0   苏州           6% NaN   5.0   广州   \n",
       " 6   6.0  广州         5.8% NaN   6.0   广州           3% NaN   6.0   成都   \n",
       " 7   7.0  南京           4% NaN   6.0   南京           3% NaN   7.0   苏州   \n",
       " 8   8.0  厦门           2% NaN   8.0   武汉           2% NaN   7.0   南京   \n",
       " 9   9.0  成都           1% NaN   8.0   天津           2% NaN   7.0   香港   \n",
       " 10  9.0  嘉兴           1% NaN  10.0   珠海         1.5% NaN  10.0   青岛   \n",
       " 11  9.0  香港           1% NaN   NaN  NaN          NaN NaN   NaN  NaN   \n",
       " \n",
       "               10  11    12  13             14  \n",
       " 0   中国独角兽数量占全国比例 NaN   NaN  城市  中国500强数量占全国比例  \n",
       " 1            29% NaN   1.0  上海          13.7%  \n",
       " 2            22% NaN   2.0  北京          13.5%  \n",
       " 3            11% NaN   3.0  深圳             9%  \n",
       " 4             7% NaN   4.0  杭州             6%  \n",
       " 5             6% NaN   4.0  香港             6%  \n",
       " 6             3% NaN   6.0  台北             5%  \n",
       " 7             2% NaN   7.0  广州           3.2%  \n",
       " 8             2% NaN   8.0  苏州           2.6%  \n",
       " 9             2% NaN   9.0  宁波             2%  \n",
       " 10            2% NaN  10.0  长沙           1.8%  \n",
       " 11           NaN NaN  10.0  无锡           1.8%  ,\n",
       "     0     1            2   3    4     5            6   7    8     9   \\\n",
       " 0  NaN    行业  中国猎豹数量占全国比例 NaN  NaN    行业  中国瞪羚数量占全国比例 NaN  NaN    行业   \n",
       " 1  1.0  生命科学          23% NaN  1.0  医疗健康          34% NaN  1.0    零售   \n",
       " 2  2.0  医疗健康          12% NaN  2.0  企业管理          13% NaN  2.0  医疗健康   \n",
       " 3  3.0    零售           8% NaN  3.0   半导体           8% NaN  3.0   半导体   \n",
       " 4  4.0  消费电子         5.4% NaN  4.0    零售           6% NaN  4.0    物流   \n",
       " 5  5.0  企业管理         4.6% NaN  4.0  传媒娱乐           6% NaN  4.0    运输   \n",
       " 6  5.0    汽车         4.6% NaN  NaN   NaN          NaN NaN  NaN   NaN   \n",
       " 7  5.0  智能芯片         4.6% NaN  NaN   NaN          NaN NaN  NaN   NaN   \n",
       " \n",
       "              10  11   12    13             14  \n",
       " 0  中国独角兽数量占全国比例 NaN  NaN    行业  中国500强数量占全国比例  \n",
       " 1           11% NaN  1.0  医疗健康            14%  \n",
       " 2           10% NaN  2.0    能源             9%  \n",
       " 3            9% NaN  3.0    化工             8%  \n",
       " 4            6% NaN  4.0  电子元件           6.3%  \n",
       " 5            6% NaN  5.0    零售           6.2%  \n",
       " 6           NaN NaN  NaN   NaN            NaN  \n",
       " 7           NaN NaN  NaN   NaN            NaN  ,\n",
       "           0        1       2    3    4\n",
       " 0       NaN  销售软件和服务  销售实体产品  B2B  B2C\n",
       " 1    中国猎豹企业      53%     47%  71%  29%\n",
       " 2    中国瞪羚企业      47%     53%  69%  31%\n",
       " 3   中国独角兽企业      60%     40%  52%  48%\n",
       " 4  中国500强企业      23%     77%  56%  44%,\n",
       "         0      1    2       3      4       5                  6\n",
       " 0      年份  独角兽数量  新上榜  升级退出榜单  其中，上市  其中，被并购  降级退出榜单，即估值跌破10亿美元\n",
       " 1    2019    494    -       -      -       -                  -\n",
       " 2    2020    586  142      30     19      11                 20\n",
       " 3    2021   1058  673     162    137      25                 39\n",
       " 4  2022年中   1312  369      34     25       9                 81,\n",
       "                                                    0  \\\n",
       " 0  潘小英（Porsha Pan） 胡润百富 传讯副总监 电话：021-50105808 手机：...   \n",
       " \n",
       "                                                    1  \n",
       " 0  常婷（Larina Chang） 胡润百富 公关主任 电话：021-50105808 手机：...  ,\n",
       "       0     1                    2          3            4   5      6     7\n",
       " 0    排名  排名变化                 企业名称  价值（亿元人民币）  价值变化（亿元人民币）  国家     城市    行业\n",
       " 1     1     0                   抖音      13400       -10050  中国     北京  社交媒体\n",
       " 2     2     1               SpaceX       8400         1680  美国    洛杉矶    航天\n",
       " 3     3    -1                 蚂蚁集团       8000        -2010  中国     杭州  金融科技\n",
       " 4     4     0               Stripe       4100        -2210  美国    旧金山  金融科技\n",
       " ..   ..   ...                  ...        ...          ...  ..    ...   ...\n",
       " 97   95   -16        Impossible 食品        470            0  美国  雷德伍德城  食品饮料\n",
       " 98   95   -16                   微医        470            0  中国     杭州  健康科技\n",
       " 99   99    58                 蜂巢能源        460          190  中国     常州   新能源\n",
       " 100  99    -6           Better.com        460           60  美国     纽约  金融科技\n",
       " 101  99   -20  Automation Anywhere        460          -10  美国    圣何塞  人工智能\n",
       " \n",
       " [102 rows x 8 columns],\n",
       "        0     1                         2                         3  \\\n",
       " 0     排名  排名变化                      投资机构                  Investor   \n",
       " 1      1     0                      红杉资本           Sequoia Capital   \n",
       " 2      2     1                        软银                  SoftBank   \n",
       " 3      3    -1                    老虎环球基金                     Tiger   \n",
       " 4      4     4                        腾讯                   Tencent   \n",
       " ..   ...   ...                       ...                       ...   \n",
       " 104  100   -11  Durable Capital Partners  Durable Capital Partners   \n",
       " 105  100    -6                   Atomico                   Atomico   \n",
       " 106  100   New                    AME云创投        AME Cloud Ventures   \n",
       " 107  100   New             QED Investors             QED Investors   \n",
       " 108  100    -6                      门罗风投            Menlo Ventures   \n",
       " \n",
       "                4            5     6  \n",
       " 0    2022上榜独角兽数量  2021上榜独角兽数量  创立国家  \n",
       " 1            234          206    美国  \n",
       " 2            180          146    日本  \n",
       " 3            169          147    美国  \n",
       " 4             90           68    中国  \n",
       " ..           ...          ...   ...  \n",
       " 104           17           15    美国  \n",
       " 105           17           14    英国  \n",
       " 106           17           13    美国  \n",
       " 107           17           13    美国  \n",
       " 108           17           14    美国  \n",
       " \n",
       " [109 rows x 7 columns],\n",
       "        0                           1          2      3            4      5\n",
       " 0    NaN                          企业  价值（亿元人民币）     国家           城市     行业\n",
       " 1    1.0                          币安       3000    马耳他          马耳他    区块链\n",
       " 2    2.0          Citadel Securities       1500     美国          芝加哥   金融科技\n",
       " 3    3.0                        极兔速递       1300  印度尼西亚          雅加达   电子商务\n",
       " 4    3.0                          极星       1300     瑞典          哥德堡  新能源汽车\n",
       " 5    5.0                      Notion        670     美国          旧金山   软件服务\n",
       " 6    6.0                    Airtable        600     美国          旧金山   软件服务\n",
       " 7    7.0                        Nuro        575     美国          旧金山    机器人\n",
       " 8    8.0                    Scale AI        490     美国          旧金山   人工智能\n",
       " 9    9.0                        Weee        270     美国          菲蒙市   电子商务\n",
       " 10  10.0                    Workrise        190     美国          奥斯汀   电子商务\n",
       " 11  11.0                  Binance.US        185     美国          旧金山    区块链\n",
       " 12  12.0                        Lime        155     美国         圣马特奥   共享经济\n",
       " 13  13.0                   Moveworks        140     美国          山景城   人工智能\n",
       " 14  14.0                       Avant        135     美国          芝加哥   金融科技\n",
       " 15  14.0                 Sourcegraph        135     美国          旧金山   软件服务\n",
       " 16  16.0             Thatgamecompany        130     美国        圣塔莫尼卡     游戏\n",
       " 17  17.0                    Optimism        110     美国          旧金山    区块链\n",
       " 18  18.0                        Hive        100     美国          旧金山   软件服务\n",
       " 19  18.0                    Iterable        100     美国          旧金山   软件服务\n",
       " 20  20.0                        OPay         95   尼日利亚          伊凯贾   金融科技\n",
       " 21  21.0                 CaptivateIQ         80     美国          旧金山   软件服务\n",
       " 22  21.0                  GrubMarket         80     美国          旧金山     快递\n",
       " 23  23.0  Advance Intelligence Group         67    新加坡          新加坡   金融科技\n",
       " 24  23.0                Agile Robots         67     德国          吉尔兴    机器人\n",
       " 25  23.0                     EcoFlow         67     美国          旧金山    新能源\n",
       " 26  23.0               Flash Express         67     泰国           曼谷     物流\n",
       " 27  23.0                GetYourGuide         67     德国           柏林   电子商务\n",
       " 28  23.0              Human Interest         67     美国          旧金山   金融科技\n",
       " 29  23.0                  JupiterOne         67     美国  Morrisville   网络安全\n",
       " 30  23.0                  News Break         67     美国          山景城     传媒]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hurun_独角兽 = pd.read_html('https://www.hurun.net/zh-CN/Info/Detail?num=L9SQPH9FKJB1')\n",
    "hurun_独角兽"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "6330f65f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "26"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(hurun_独角兽)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7cf3b6cc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>排名</td>\n",
       "      <td>排名变化</td>\n",
       "      <td>企业名称</td>\n",
       "      <td>价值（亿元人民币）</td>\n",
       "      <td>价值变化（亿元人民币）</td>\n",
       "      <td>国家</td>\n",
       "      <td>城市</td>\n",
       "      <td>行业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>抖音</td>\n",
       "      <td>13400</td>\n",
       "      <td>-10050</td>\n",
       "      <td>中国</td>\n",
       "      <td>北京</td>\n",
       "      <td>社交媒体</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>SpaceX</td>\n",
       "      <td>8400</td>\n",
       "      <td>1680</td>\n",
       "      <td>美国</td>\n",
       "      <td>洛杉矶</td>\n",
       "      <td>航天</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>-1</td>\n",
       "      <td>蚂蚁集团</td>\n",
       "      <td>8000</td>\n",
       "      <td>-2010</td>\n",
       "      <td>中国</td>\n",
       "      <td>杭州</td>\n",
       "      <td>金融科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>Stripe</td>\n",
       "      <td>4100</td>\n",
       "      <td>-2210</td>\n",
       "      <td>美国</td>\n",
       "      <td>旧金山</td>\n",
       "      <td>金融科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>95</td>\n",
       "      <td>-16</td>\n",
       "      <td>Impossible 食品</td>\n",
       "      <td>470</td>\n",
       "      <td>0</td>\n",
       "      <td>美国</td>\n",
       "      <td>雷德伍德城</td>\n",
       "      <td>食品饮料</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>95</td>\n",
       "      <td>-16</td>\n",
       "      <td>微医</td>\n",
       "      <td>470</td>\n",
       "      <td>0</td>\n",
       "      <td>中国</td>\n",
       "      <td>杭州</td>\n",
       "      <td>健康科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>99</td>\n",
       "      <td>58</td>\n",
       "      <td>蜂巢能源</td>\n",
       "      <td>460</td>\n",
       "      <td>190</td>\n",
       "      <td>中国</td>\n",
       "      <td>常州</td>\n",
       "      <td>新能源</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>99</td>\n",
       "      <td>-6</td>\n",
       "      <td>Better.com</td>\n",
       "      <td>460</td>\n",
       "      <td>60</td>\n",
       "      <td>美国</td>\n",
       "      <td>纽约</td>\n",
       "      <td>金融科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>99</td>\n",
       "      <td>-20</td>\n",
       "      <td>Automation Anywhere</td>\n",
       "      <td>460</td>\n",
       "      <td>-10</td>\n",
       "      <td>美国</td>\n",
       "      <td>圣何塞</td>\n",
       "      <td>人工智能</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>102 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      0     1                    2          3            4   5      6     7\n",
       "0    排名  排名变化                 企业名称  价值（亿元人民币）  价值变化（亿元人民币）  国家     城市    行业\n",
       "1     1     0                   抖音      13400       -10050  中国     北京  社交媒体\n",
       "2     2     1               SpaceX       8400         1680  美国    洛杉矶    航天\n",
       "3     3    -1                 蚂蚁集团       8000        -2010  中国     杭州  金融科技\n",
       "4     4     0               Stripe       4100        -2210  美国    旧金山  金融科技\n",
       "..   ..   ...                  ...        ...          ...  ..    ...   ...\n",
       "97   95   -16        Impossible 食品        470            0  美国  雷德伍德城  食品饮料\n",
       "98   95   -16                   微医        470            0  中国     杭州  健康科技\n",
       "99   99    58                 蜂巢能源        460          190  中国     常州   新能源\n",
       "100  99    -6           Better.com        460           60  美国     纽约  金融科技\n",
       "101  99   -20  Automation Anywhere        460          -10  美国    圣何塞  人工智能\n",
       "\n",
       "[102 rows x 8 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = hurun_独角兽[-3]\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "fb045fe4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['排名', '排名变化', '企业名称', '价值（亿元人民币）', '价值变化（亿元人民币）', '国家', '城市', '行业']]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[0:1].values.tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "7f36a47f",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = df[0:1].values.tolist()[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "1c3b891a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>排名</th>\n",
       "      <th>排名变化</th>\n",
       "      <th>企业名称</th>\n",
       "      <th>价值（亿元人民币）</th>\n",
       "      <th>价值变化（亿元人民币）</th>\n",
       "      <th>国家</th>\n",
       "      <th>城市</th>\n",
       "      <th>行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>抖音</td>\n",
       "      <td>13400</td>\n",
       "      <td>-10050</td>\n",
       "      <td>中国</td>\n",
       "      <td>北京</td>\n",
       "      <td>社交媒体</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>SpaceX</td>\n",
       "      <td>8400</td>\n",
       "      <td>1680</td>\n",
       "      <td>美国</td>\n",
       "      <td>洛杉矶</td>\n",
       "      <td>航天</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>-1</td>\n",
       "      <td>蚂蚁集团</td>\n",
       "      <td>8000</td>\n",
       "      <td>-2010</td>\n",
       "      <td>中国</td>\n",
       "      <td>杭州</td>\n",
       "      <td>金融科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>Stripe</td>\n",
       "      <td>4100</td>\n",
       "      <td>-2210</td>\n",
       "      <td>美国</td>\n",
       "      <td>旧金山</td>\n",
       "      <td>金融科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Shein</td>\n",
       "      <td>4000</td>\n",
       "      <td>2680</td>\n",
       "      <td>中国</td>\n",
       "      <td>广州</td>\n",
       "      <td>电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>95</td>\n",
       "      <td>-16</td>\n",
       "      <td>Impossible 食品</td>\n",
       "      <td>470</td>\n",
       "      <td>0</td>\n",
       "      <td>美国</td>\n",
       "      <td>雷德伍德城</td>\n",
       "      <td>食品饮料</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>95</td>\n",
       "      <td>-16</td>\n",
       "      <td>微医</td>\n",
       "      <td>470</td>\n",
       "      <td>0</td>\n",
       "      <td>中国</td>\n",
       "      <td>杭州</td>\n",
       "      <td>健康科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>99</td>\n",
       "      <td>58</td>\n",
       "      <td>蜂巢能源</td>\n",
       "      <td>460</td>\n",
       "      <td>190</td>\n",
       "      <td>中国</td>\n",
       "      <td>常州</td>\n",
       "      <td>新能源</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>99</td>\n",
       "      <td>-6</td>\n",
       "      <td>Better.com</td>\n",
       "      <td>460</td>\n",
       "      <td>60</td>\n",
       "      <td>美国</td>\n",
       "      <td>纽约</td>\n",
       "      <td>金融科技</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>99</td>\n",
       "      <td>-20</td>\n",
       "      <td>Automation Anywhere</td>\n",
       "      <td>460</td>\n",
       "      <td>-10</td>\n",
       "      <td>美国</td>\n",
       "      <td>圣何塞</td>\n",
       "      <td>人工智能</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>101 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     排名 排名变化                 企业名称 价值（亿元人民币） 价值变化（亿元人民币）  国家     城市    行业\n",
       "1     1    0                   抖音     13400      -10050  中国     北京  社交媒体\n",
       "2     2    1               SpaceX      8400        1680  美国    洛杉矶    航天\n",
       "3     3   -1                 蚂蚁集团      8000       -2010  中国     杭州  金融科技\n",
       "4     4    0               Stripe      4100       -2210  美国    旧金山  金融科技\n",
       "5     5   11                Shein      4000        2680  中国     广州  电子商务\n",
       "..   ..  ...                  ...       ...         ...  ..    ...   ...\n",
       "97   95  -16        Impossible 食品       470           0  美国  雷德伍德城  食品饮料\n",
       "98   95  -16                   微医       470           0  中国     杭州  健康科技\n",
       "99   99   58                 蜂巢能源       460         190  中国     常州   新能源\n",
       "100  99   -6           Better.com       460          60  美国     纽约  金融科技\n",
       "101  99  -20  Automation Anywhere       460         -10  美国    圣何塞  人工智能\n",
       "\n",
       "[101 rows x 8 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.drop([0])\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "e62f8d5c",
   "metadata": {},
   "outputs": [],
   "source": [
    "df['价值（亿元人民币）'] = df['价值（亿元人民币）'].astype('int32')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5dec13b6",
   "metadata": {},
   "source": [
    "## Dataframe.groupby\n",
    "\n",
    "* 参考文档:[groupby](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "1d2404d1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"4\" halign=\"left\">价值（亿元人民币）</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "      <th>sum</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>国家</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>中国</th>\n",
       "      <td>13400</td>\n",
       "      <td>460</td>\n",
       "      <td>46055</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>以色列</th>\n",
       "      <td>535</td>\n",
       "      <td>535</td>\n",
       "      <td>535</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>印度</th>\n",
       "      <td>1500</td>\n",
       "      <td>480</td>\n",
       "      <td>3235</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>印度尼西亚</th>\n",
       "      <td>1300</td>\n",
       "      <td>700</td>\n",
       "      <td>2000</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>土耳其</th>\n",
       "      <td>800</td>\n",
       "      <td>800</td>\n",
       "      <td>800</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>墨西哥</th>\n",
       "      <td>580</td>\n",
       "      <td>580</td>\n",
       "      <td>580</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>巴哈马</th>\n",
       "      <td>1300</td>\n",
       "      <td>1300</td>\n",
       "      <td>1300</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>德国</th>\n",
       "      <td>555</td>\n",
       "      <td>555</td>\n",
       "      <td>555</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>澳大利亚</th>\n",
       "      <td>1750</td>\n",
       "      <td>1750</td>\n",
       "      <td>1750</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>瑞典</th>\n",
       "      <td>1300</td>\n",
       "      <td>800</td>\n",
       "      <td>2100</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>瑞士</th>\n",
       "      <td>575</td>\n",
       "      <td>575</td>\n",
       "      <td>575</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>美国</th>\n",
       "      <td>8400</td>\n",
       "      <td>460</td>\n",
       "      <td>47740</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>英国</th>\n",
       "      <td>1900</td>\n",
       "      <td>520</td>\n",
       "      <td>6575</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>越南</th>\n",
       "      <td>550</td>\n",
       "      <td>550</td>\n",
       "      <td>550</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>韩国</th>\n",
       "      <td>560</td>\n",
       "      <td>535</td>\n",
       "      <td>1095</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>马耳他</th>\n",
       "      <td>3000</td>\n",
       "      <td>3000</td>\n",
       "      <td>3000</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      价值（亿元人民币）                   \n",
       "            max   min    sum count\n",
       "国家                                \n",
       "中国        13400   460  46055    26\n",
       "以色列         535   535    535     1\n",
       "印度         1500   480   3235     4\n",
       "印度尼西亚      1300   700   2000     2\n",
       "土耳其         800   800    800     1\n",
       "墨西哥         580   580    580     1\n",
       "巴哈马        1300  1300   1300     1\n",
       "德国          555   555    555     1\n",
       "澳大利亚       1750  1750   1750     1\n",
       "瑞典         1300   800   2100     2\n",
       "瑞士          575   575    575     1\n",
       "美国         8400   460  47740    49\n",
       "英国         1900   520   6575     7\n",
       "越南          550   550    550     1\n",
       "韩国          560   535   1095     2\n",
       "马耳他        3000  3000   3000     1"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_国家 = df.groupby(by=['国家']).agg({'价值（亿元人民币）':['max','min','sum','count']})\n",
    "df_国家"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "506aee7f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"4\" halign=\"left\">价值（亿元人民币）</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "      <th>sum</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>行业</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>人工智能</th>\n",
       "      <td>870</td>\n",
       "      <td>460</td>\n",
       "      <td>3560</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>企业服务</th>\n",
       "      <td>1170</td>\n",
       "      <td>515</td>\n",
       "      <td>1685</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>保险</th>\n",
       "      <td>740</td>\n",
       "      <td>740</td>\n",
       "      <td>740</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>健康科技</th>\n",
       "      <td>1040</td>\n",
       "      <td>470</td>\n",
       "      <td>2820</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>共享经济</th>\n",
       "      <td>1000</td>\n",
       "      <td>480</td>\n",
       "      <td>3145</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>分析</th>\n",
       "      <td>575</td>\n",
       "      <td>575</td>\n",
       "      <td>575</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>区块链</th>\n",
       "      <td>3000</td>\n",
       "      <td>500</td>\n",
       "      <td>8615</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>大数据</th>\n",
       "      <td>2500</td>\n",
       "      <td>535</td>\n",
       "      <td>3035</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>快递</th>\n",
       "      <td>1320</td>\n",
       "      <td>720</td>\n",
       "      <td>3840</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>教育科技</th>\n",
       "      <td>1500</td>\n",
       "      <td>1500</td>\n",
       "      <td>1500</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>数字科技</th>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>新能源</th>\n",
       "      <td>800</td>\n",
       "      <td>460</td>\n",
       "      <td>2570</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>新能源汽车</th>\n",
       "      <td>1300</td>\n",
       "      <td>600</td>\n",
       "      <td>1900</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>新零售</th>\n",
       "      <td>670</td>\n",
       "      <td>670</td>\n",
       "      <td>670</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器人</th>\n",
       "      <td>1200</td>\n",
       "      <td>575</td>\n",
       "      <td>1775</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>消费品</th>\n",
       "      <td>550</td>\n",
       "      <td>550</td>\n",
       "      <td>550</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>游戏</th>\n",
       "      <td>600</td>\n",
       "      <td>535</td>\n",
       "      <td>1135</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>物流</th>\n",
       "      <td>1800</td>\n",
       "      <td>500</td>\n",
       "      <td>4905</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>生物科技</th>\n",
       "      <td>800</td>\n",
       "      <td>540</td>\n",
       "      <td>1340</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>电子商务</th>\n",
       "      <td>4000</td>\n",
       "      <td>490</td>\n",
       "      <td>9110</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>社交媒体</th>\n",
       "      <td>13400</td>\n",
       "      <td>1000</td>\n",
       "      <td>14400</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>网络安全</th>\n",
       "      <td>600</td>\n",
       "      <td>535</td>\n",
       "      <td>1690</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>航天</th>\n",
       "      <td>8400</td>\n",
       "      <td>8400</td>\n",
       "      <td>8400</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>软件服务</th>\n",
       "      <td>1750</td>\n",
       "      <td>470</td>\n",
       "      <td>9695</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>金融科技</th>\n",
       "      <td>8000</td>\n",
       "      <td>460</td>\n",
       "      <td>27320</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>食品饮料</th>\n",
       "      <td>1000</td>\n",
       "      <td>470</td>\n",
       "      <td>1470</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      价值（亿元人民币）                   \n",
       "            max   min    sum count\n",
       "行业                                \n",
       "人工智能        870   460   3560     6\n",
       "企业服务       1170   515   1685     2\n",
       "保险          740   740    740     1\n",
       "健康科技       1040   470   2820     4\n",
       "共享经济       1000   480   3145     4\n",
       "分析          575   575    575     1\n",
       "区块链        3000   500   8615     9\n",
       "大数据        2500   535   3035     2\n",
       "快递         1320   720   3840     4\n",
       "教育科技       1500  1500   1500     1\n",
       "数字科技       2000  2000   2000     1\n",
       "新能源         800   460   2570     4\n",
       "新能源汽车      1300   600   1900     2\n",
       "新零售         670   670    670     1\n",
       "机器人        1200   575   1775     2\n",
       "消费品         550   550    550     1\n",
       "游戏          600   535   1135     2\n",
       "物流         1800   500   4905     5\n",
       "生物科技        800   540   1340     2\n",
       "电子商务       4000   490   9110     8\n",
       "社交媒体      13400  1000  14400     2\n",
       "网络安全        600   535   1690     3\n",
       "航天         8400  8400   8400     1\n",
       "软件服务       1750   470   9695    14\n",
       "金融科技       8000   460  27320    17\n",
       "食品饮料       1000   470   1470     2"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_行业 = df.groupby(by=['行业']).agg({'价值（亿元人民币）':['max','min','sum','count']})\n",
    "df_行业"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25269352",
   "metadata": {},
   "source": [
    "## Dataframe.to_excel()\n",
    "\n",
    "* 参考文档：[Dataframe.to_excel](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_excel.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "cdf2ee90",
   "metadata": {},
   "outputs": [],
   "source": [
    "with pd.ExcelWriter('胡润独角兽排行榜整理.xlsx') as writer: \n",
    "    df_国家.to_excel(writer, sheet_name='国家汇总')\n",
    "    df_行业.to_excel(writer, sheet_name='行业汇总')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2451d630",
   "metadata": {},
   "source": [
    "# 体验项目二\n",
    "\n",
    "* 核心模块：requests-html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "34884342",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting requests_html\n",
      "  Downloading requests_html-0.10.0-py3-none-any.whl (13 kB)\n",
      "Collecting parse\n",
      "  Downloading parse-1.19.0.tar.gz (30 kB)\n",
      "Collecting bs4\n",
      "  Downloading bs4-0.0.1.tar.gz (1.1 kB)\n",
      "Collecting pyppeteer>=0.0.14\n",
      "  Downloading pyppeteer-1.0.2-py3-none-any.whl (83 kB)\n",
      "Collecting w3lib\n",
      "  Downloading w3lib-2.1.1-py3-none-any.whl (21 kB)\n",
      "Collecting pyquery\n",
      "  Downloading pyquery-2.0.0-py3-none-any.whl (22 kB)\n",
      "Requirement already satisfied: requests in e:\\anaconda3\\lib\\site-packages (from requests_html) (2.25.1)\n",
      "Collecting fake-useragent\n",
      "  Downloading fake_useragent-1.1.1-py3-none-any.whl (50 kB)\n",
      "Collecting websockets<11.0,>=10.0\n",
      "  Downloading websockets-10.4-cp38-cp38-win_amd64.whl (101 kB)\n",
      "Collecting pyee<9.0.0,>=8.1.0\n",
      "  Downloading pyee-8.2.2-py2.py3-none-any.whl (12 kB)\n",
      "Requirement already satisfied: tqdm<5.0.0,>=4.42.1 in e:\\anaconda3\\lib\\site-packages (from pyppeteer>=0.0.14->requests_html) (4.59.0)\n",
      "Requirement already satisfied: appdirs<2.0.0,>=1.4.3 in e:\\anaconda3\\lib\\site-packages (from pyppeteer>=0.0.14->requests_html) (1.4.4)\n",
      "Requirement already satisfied: importlib-metadata>=1.4 in e:\\anaconda3\\lib\\site-packages (from pyppeteer>=0.0.14->requests_html) (3.10.0)\n",
      "Collecting certifi>=2021\n",
      "  Downloading certifi-2022.12.7-py3-none-any.whl (155 kB)\n",
      "Requirement already satisfied: urllib3<2.0.0,>=1.25.8 in e:\\anaconda3\\lib\\site-packages (from pyppeteer>=0.0.14->requests_html) (1.26.4)\n",
      "Requirement already satisfied: zipp>=0.5 in e:\\anaconda3\\lib\\site-packages (from importlib-metadata>=1.4->pyppeteer>=0.0.14->requests_html) (3.4.1)\n",
      "Requirement already satisfied: beautifulsoup4 in e:\\anaconda3\\lib\\site-packages (from bs4->requests_html) (4.9.3)\n",
      "Requirement already satisfied: soupsieve>1.2 in e:\\anaconda3\\lib\\site-packages (from beautifulsoup4->bs4->requests_html) (2.2.1)\n",
      "Collecting importlib-resources>=5.0\n",
      "  Downloading importlib_resources-5.12.0-py3-none-any.whl (36 kB)\n",
      "Requirement already satisfied: lxml>=2.1 in e:\\anaconda3\\lib\\site-packages (from pyquery->requests_html) (4.6.3)\n",
      "Collecting cssselect>=1.2.0\n",
      "  Downloading cssselect-1.2.0-py2.py3-none-any.whl (18 kB)\n",
      "Requirement already satisfied: chardet<5,>=3.0.2 in e:\\anaconda3\\lib\\site-packages (from requests->requests_html) (4.0.0)\n",
      "Requirement already satisfied: idna<3,>=2.5 in e:\\anaconda3\\lib\\site-packages (from requests->requests_html) (2.10)\n",
      "Building wheels for collected packages: bs4, parse\n",
      "  Building wheel for bs4 (setup.py): started\n",
      "  Building wheel for bs4 (setup.py): finished with status 'done'\n",
      "  Created wheel for bs4: filename=bs4-0.0.1-py3-none-any.whl size=1273 sha256=15dae1b99c49b1e85160cd71fdb90ec17e54a2a46bbbc15e21b82f9ba915b7a8\n",
      "  Stored in directory: c:\\users\\86180\\appdata\\local\\pip\\cache\\wheels\\75\\78\\21\\68b124549c9bdc94f822c02fb9aa3578a669843f9767776bca\n",
      "  Building wheel for parse (setup.py): started\n",
      "  Building wheel for parse (setup.py): finished with status 'done'\n",
      "  Created wheel for parse: filename=parse-1.19.0-py3-none-any.whl size=24581 sha256=69ddcb73170093bb566d21e552a8afb4a3b102ee75b1b742de9be0a2eae16e10\n",
      "  Stored in directory: c:\\users\\86180\\appdata\\local\\pip\\cache\\wheels\\e5\\33\\1f\\68392720485b3ecf125a69e700baaab7624616deedea2fa6e2\n",
      "Successfully built bs4 parse\n",
      "Installing collected packages: websockets, pyee, importlib-resources, cssselect, certifi, w3lib, pyquery, pyppeteer, parse, fake-useragent, bs4, requests-html\n",
      "  Attempting uninstall: certifi\n",
      "    Found existing installation: certifi 2020.12.5\n",
      "    Uninstalling certifi-2020.12.5:\n",
      "      Successfully uninstalled certifi-2020.12.5\n",
      "Successfully installed bs4-0.0.1 certifi-2022.12.7 cssselect-1.2.0 fake-useragent-1.1.1 importlib-resources-5.12.0 parse-1.19.0 pyee-8.2.2 pyppeteer-1.0.2 pyquery-2.0.0 requests-html-0.10.0 w3lib-2.1.1 websockets-10.4\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
      "conda-repo-cli 1.0.4 requires pathlib, which is not installed.\n",
      "anaconda-project 0.9.1 requires ruamel-yaml, which is not installed.\n"
     ]
    }
   ],
   "source": [
    "!pip install requests_html"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "87b2a8fa",
   "metadata": {},
   "source": [
    "## 小试牛刀：请求学校网站上的所有链接"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "1db472aa",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'../xxgk/nfdsj/index.htm', '6daa44f831944e719357ad2048bbfe4d.htm', 'index2.htm', '7ddaa7f536fe487287d7fc3d0ceeb721.htm', 'http://www.gdmbjy.cn/', 'http://jx.nfu.edu.cn/', '../rczp/jsxl/index.htm', '9e2ea2c20a1e4cf7a2abc286ef823be8.htm', 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44011702000081', '../xxgk/xhxxxg/index.htm', '6f0b2c18825d4abf8185cda1357b351c.htm', '../hzjl/index.htm', '../xcyx/index.htm', 'http://gj.nfu.edu.cn/', '../zsjy/index.htm', 'http://www.moe.gov.cn/', 'http://lib.nfu.edu.cn/', '../rczp/index.htm', 'index4.htm', 'http://gj.nfu.edu.cn/Home/Waishi/waishilist/class/1/p/1.html', '../zjnf/tsnf/index.htm', 'index114.htm', 'http://edu.gd.gov.cn/', 'de98c68ff0884799aa4bdc431b3845a7.htm', 'b7bc1f56371a4a96adcd0199212affeb.htm', '../jxky/index.htm', '6d43992fb4554b148342e4ae8e0426d6.htm', '../gjdt/index.htm', 'http://www.gdpr.com/', '../jgsz/gljg/index.htm', '../index.htm', '../tzgg/index.htm', '../xxgk/index.htm', '../xydt/index.htm', 'http://das.nfu.edu.cn/', '8d215f8a15ce4708a7d639618ad0f253.htm', '../jgsz/index.htm', '../rcpy/jxjy/index.htm', '../xxgk/xxxl/index.htm', '../ztb/index.htm', 'index3.htm', '113de9c9e9d1418b813db23b592c277a.htm', '../jgsz/yxsz/index.htm', 'index.htm', '../tsg/index.htm', '4db5fa14874546859bab4dc6176ece82.htm', '../zjnf/ylfw/index.htm', '6aeca2ff760e45a2bd636a15640f20fb.htm', 'http://zsb.nfu.edu.cn/', 'https://beian.miit.gov.cn/', '../zsjy/jyfw/index.htm', '../jgsz/cswyh/index.htm', 'edde8b862be846b29a34220e77ba5d94.htm', 'http://ky.nfu.edu.cn/', '4d3fe3eebf694c1d87fc951027635dde.htm', 'http://www.gz.gov.cn/', 'https://www.gpowersoft.com/', '../zggcddsxxjy/index.htm', 'http://en.nfu.edu.cn/', '../jxky/kyjg/index.htm', 'http://www.sysu.edu.cn/2012/cn/index.htm', '85586f67b14a431fa408bd29159d6420.htm', '../zjnf/xb/index.htm', '../rczp/glxl/index.htm', '../qzzggcdjd100zn/index.htm', 'index1.htm', '../rcpy/index.htm', 'b3d3d6e0b1094fa1a7fd430f10f06d65.htm', '../xxgk/xxjj/index.htm', '../rcpy/msjs/index.htm', '62b2be6d085145ae8bffdbb273a61b66.htm', '17416bfec73848919428e5a8139a3318.htm', 'https://www.cnki.net/', 'bed889f577f749b6844789a5c4ddf540.htm', 'http://jw.nfu.edu.cn/', '../dshyx/index.htm', 'ebc769518c22479bba046f093b307a87.htm', '../zjnf/index.htm', '../zjnf/shfw/index.htm', '296a92d180314f4195deb9a085bafcd7.htm', 'http://cpc.nfu.edu.cn/', '../zjnf/jtzy/index.htm', '../rcpy/bkjy/index.htm', '../xxgk/xrld/index.htm'}\n",
      "\n",
      "{'https://www.nfu.edu.cn/xxyw/ebc769518c22479bba046f093b307a87.htm', 'https://www.nfu.edu.cn/xxyw/index4.htm', 'https://www.nfu.edu.cn/gjdt/index.htm', 'https://www.nfu.edu.cn/xxyw/b7bc1f56371a4a96adcd0199212affeb.htm', 'https://www.nfu.edu.cn/rczp/index.htm', 'https://www.nfu.edu.cn/xxyw/17416bfec73848919428e5a8139a3318.htm', 'http://www.gdmbjy.cn/', 'https://www.nfu.edu.cn/xxyw/296a92d180314f4195deb9a085bafcd7.htm', 'https://www.nfu.edu.cn/ztb/index.htm', 'https://www.nfu.edu.cn/xxyw/4db5fa14874546859bab4dc6176ece82.htm', 'https://www.nfu.edu.cn/jxky/kyjg/index.htm', 'http://jx.nfu.edu.cn/', 'https://www.nfu.edu.cn/xxyw/index114.htm', 'https://www.nfu.edu.cn/xxyw/index2.htm', 'https://www.nfu.edu.cn/xxyw/index3.htm', 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44011702000081', 'https://www.nfu.edu.cn/xxgk/xxxl/index.htm', 'https://www.nfu.edu.cn/zjnf/jtzy/index.htm', 'https://www.nfu.edu.cn/xcyx/index.htm', 'http://gj.nfu.edu.cn/', 'http://www.moe.gov.cn/', 'http://lib.nfu.edu.cn/', 'https://www.nfu.edu.cn/zsjy/jyfw/index.htm', 'http://gj.nfu.edu.cn/Home/Waishi/waishilist/class/1/p/1.html', 'https://www.nfu.edu.cn/xxgk/nfdsj/index.htm', 'http://edu.gd.gov.cn/', 'https://www.nfu.edu.cn/xxgk/xrld/index.htm', 'https://www.nfu.edu.cn/xxyw/8d215f8a15ce4708a7d639618ad0f253.htm', 'https://www.nfu.edu.cn/xxyw/9e2ea2c20a1e4cf7a2abc286ef823be8.htm', 'https://www.nfu.edu.cn/xxyw/de98c68ff0884799aa4bdc431b3845a7.htm', 'http://www.gdpr.com/', 'https://www.nfu.edu.cn/tsg/index.htm', 'https://www.nfu.edu.cn/zsjy/index.htm', 'https://www.nfu.edu.cn/xxyw/4d3fe3eebf694c1d87fc951027635dde.htm', 'https://www.nfu.edu.cn/zjnf/tsnf/index.htm', 'http://das.nfu.edu.cn/', 'https://www.nfu.edu.cn/xxyw/85586f67b14a431fa408bd29159d6420.htm', 'https://www.nfu.edu.cn/zjnf/shfw/index.htm', 'https://www.nfu.edu.cn/qzzggcdjd100zn/index.htm', 'https://www.nfu.edu.cn/xxyw/bed889f577f749b6844789a5c4ddf540.htm', 'https://www.nfu.edu.cn/xxyw/6daa44f831944e719357ad2048bbfe4d.htm', 'https://www.nfu.edu.cn/rcpy/jxjy/index.htm', 'https://www.nfu.edu.cn/rcpy/index.htm', 'https://www.nfu.edu.cn/xydt/index.htm', 'https://www.nfu.edu.cn/dshyx/index.htm', 'https://www.nfu.edu.cn/xxyw/113de9c9e9d1418b813db23b592c277a.htm', 'https://beian.miit.gov.cn/', 'http://zsb.nfu.edu.cn/', 'https://www.nfu.edu.cn/rcpy/bkjy/index.htm', 'http://ky.nfu.edu.cn/', 'https://www.nfu.edu.cn/jxky/index.htm', 'http://www.gz.gov.cn/', 'https://www.nfu.edu.cn/zjnf/xb/index.htm', 'https://www.nfu.edu.cn/zggcddsxxjy/index.htm', 'https://www.nfu.edu.cn/rczp/jsxl/index.htm', 'https://www.nfu.edu.cn/xxyw/index.htm', 'https://www.gpowersoft.com/', 'https://www.nfu.edu.cn/xxyw/6d43992fb4554b148342e4ae8e0426d6.htm', 'https://www.nfu.edu.cn/xxgk/xhxxxg/index.htm', 'http://en.nfu.edu.cn/', 'http://www.sysu.edu.cn/2012/cn/index.htm', 'https://www.nfu.edu.cn/jgsz/gljg/index.htm', 'https://www.nfu.edu.cn/xxyw/b3d3d6e0b1094fa1a7fd430f10f06d65.htm', 'https://www.nfu.edu.cn/rczp/glxl/index.htm', 'https://www.nfu.edu.cn/tzgg/index.htm', 'https://www.nfu.edu.cn/jgsz/yxsz/index.htm', 'https://www.nfu.edu.cn/xxgk/index.htm', 'https://www.nfu.edu.cn/xxgk/xxjj/index.htm', 'https://www.nfu.edu.cn/xxyw/6aeca2ff760e45a2bd636a15640f20fb.htm', 'https://www.nfu.edu.cn/rcpy/msjs/index.htm', 'https://www.cnki.net/', 'https://www.nfu.edu.cn/xxyw/62b2be6d085145ae8bffdbb273a61b66.htm', 'https://www.nfu.edu.cn/xxyw/6f0b2c18825d4abf8185cda1357b351c.htm', 'http://jw.nfu.edu.cn/', 'https://www.nfu.edu.cn/hzjl/index.htm', 'https://www.nfu.edu.cn/xxyw/edde8b862be846b29a34220e77ba5d94.htm', 'https://www.nfu.edu.cn/xxyw/7ddaa7f536fe487287d7fc3d0ceeb721.htm', 'https://www.nfu.edu.cn/zjnf/index.htm', 'https://www.nfu.edu.cn/xxyw/index1.htm', 'https://www.nfu.edu.cn/jgsz/index.htm', 'https://www.nfu.edu.cn/jgsz/cswyh/index.htm', 'https://www.nfu.edu.cn/index.htm', 'https://www.nfu.edu.cn/zjnf/ylfw/index.htm', 'http://cpc.nfu.edu.cn/'}\n"
     ]
    }
   ],
   "source": [
    "from requests_html import HTMLSession\n",
    "session = HTMLSession()\n",
    "\n",
    "r = session.get('https://www.nfu.edu.cn/xxyw/index.htm')\n",
    "\n",
    "# 获取页面上的所有链接。\n",
    "all_links =  r.html.links\n",
    "print(all_links)\n",
    "print()\n",
    "\n",
    "# 获取页面上的所有链接，以绝对路径的方式。\n",
    "all_absolute_links = r.html.absolute_links\n",
    "print(all_absolute_links)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "d025602d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "入行14年，我还是觉得编程很难\n",
      "{'https://news.cnblogs.com/n/737252/'}\n",
      "国产架构的龙芯CPU可以跑QQ了！底层重写、与x86/Arm肩并肩\n",
      "{'https://news.cnblogs.com/n/737232/'}\n",
      "“捅破天”的技术，真的有用吗？\n",
      "{'https://news.cnblogs.com/n/737194/'}\n",
      ".NET 8已发布第一个预览版|.NET Runtime 初步支持 RISC-V\n",
      "{'https://news.cnblogs.com/n/737101/'}\n",
      "中国车设计，啥时候能靠中国人？\n",
      "{'https://news.cnblogs.com/n/737092/'}\n",
      "左手StableDiffusion，右手ControlNet组合拳效果惊人，颠覆AI绘画游戏规则\n",
      "{'https://news.cnblogs.com/n/737081/'}\n",
      "为什么联网后的ChatGPT更容易疯掉？\n",
      "{'https://news.cnblogs.com/n/737032/'}\n",
      "中国版ChatGPT「MOSS」服务器被挤爆，复旦团队致歉：还不成熟\n",
      "{'https://news.cnblogs.com/n/736992/'}\n",
      "国服关了，23岁的他成为中国第一位《星际争霸2》单人世界冠军！\n",
      "{'https://news.cnblogs.com/n/736989/'}\n",
      "接触开源，让我逃离了印度贫民窟，最终成为一名谷歌开发者专家\n",
      "{'https://news.cnblogs.com/n/736980/'}\n",
      "微软推出 VS 扩展，可快速升级 .NET 项目\n",
      "{'https://news.cnblogs.com/n/736956/'}\n",
      "Visual Studio 2022 已集成虚幻引擎\n",
      "{'https://news.cnblogs.com/n/736954/'}\n",
      "七年前选择用Go和Rust做数据库的创业公司，如今怎么评价这个决定？\n",
      "{'https://news.cnblogs.com/n/736952/'}\n",
      "ChatGPT：那些让美国伟大的俄罗斯人\n",
      "{'https://news.cnblogs.com/n/736888/'}\n",
      "微软消灭了ChatGPT的感情，必应更新引发粉丝不满：是时候再见了\n",
      "{'https://news.cnblogs.com/n/736886/'}\n",
      "爱奇艺“限制投屏”案原告：希望像蝴蝶效应一样，引起启发\n",
      "{'https://news.cnblogs.com/n/736854/'}\n",
      "模拟器，Switch们的一生之敌\n",
      "{'https://news.cnblogs.com/n/736814/'}\n",
      "谷歌面临企业文化危机？出走创业者痛批谷歌效率低下、管理不善，员工陷入官僚程序的“迷宫”中\n",
      "{'https://news.cnblogs.com/n/736798/'}\n"
     ]
    }
   ],
   "source": [
    "from requests_html import HTMLSession\n",
    "\n",
    "session = HTMLSession()\n",
    "\n",
    "r = session.get(\"https://news.cnblogs.com/n/recommend\")\n",
    "\n",
    "# 通过CSS找到新闻标签\n",
    "news = r.html.find('h2.news_entry > a')\n",
    "\n",
    "for new in news:\n",
    "    print(new.text)  # 获得新闻标题\n",
    "    print(new.absolute_links)  # 获得新闻链接"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "535e7da1",
   "metadata": {},
   "source": [
    "# 体验项目三"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "1b49cbdc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://th.wallhaven.cc/small/qz/qzdqvr.jpg qzdqvr.jpg\n",
      "b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x01\\x00`\\x00`\\x00\\x00\\xff\\xfe\\x00;CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), quality = 90\\n\\xff\\xdb\\x00C\\x00\\x03\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x04\\x03\\x03\\x04\\x05\\x08\\x05\\x05\\x04\\x04\\x05\\n\\x07\\x07\\x06\\x08\\x0c\\n\\x0c\\x0c\\x0b\\n\\x0b\\x0b\\r\\x0e\\x12\\x10\\r\\x0e\\x11\\x0e\\x0b\\x0b\\x10\\x16\\x10\\x11\\x13\\x14\\x15\\x15\\x15\\x0c\\x0f\\x17\\x18\\x16\\x14\\x18\\x12\\x14\\x15\\x14\\xff\\xdb\\x00C\\x01\\x03\\x04\\x04\\x05\\x04\\x05\\t\\x05\\x05\\t\\x14\\r\\x0b\\r\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\x14\\xff\\xc0\\x00\\x11\\x08\\x00\\xc8\\x01,\\x03\\x01\\x11\\x00\\x02\\x11\\x01\\x03\\x11\\x01\\xff\\xc4\\x00\\x1f\\x00\\x00\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\xff\\xc4\\x00\\xb5\\x10\\x00\\x02\\x01\\x03\\x03\\x02\\x04\\x03\\x05\\x05\\x04\\x04\\x00\\x00\\x01}\\x01\\x02\\x03\\x00\\x04\\x11\\x05\\x12!1A\\x06\\x13Qa\\x07\"q\\x142\\x81\\x91\\xa1\\x08#B\\xb1\\xc1\\x15R\\xd1\\xf0$3br\\x82\\t\\n\\x16\\x17\\x18\\x19\\x1a%&\\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xe1\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xff\\xc4\\x00\\x1f\\x01\\x00\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\xff\\xc4\\x00\\xb5\\x11\\x00\\x02\\x01\\x02\\x04\\x04\\x03\\x04\\x07\\x05\\x04\\x04\\x00\\x01\\x02w\\x00\\x01\\x02\\x03\\x11\\x04\\x05!1\\x06\\x12AQ\\x07aq\\x13\"2\\x81\\x08\\x14B\\x91\\xa1\\xb1\\xc1\\t#3R\\xf0\\x15br\\xd1\\n\\x16$4\\xe1%\\xf1\\x17\\x18\\x19\\x1a&\\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xff\\xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x11\\x03\\x11\\x00?\\x00\\xfc\\xc9\\x15\\xed#\\x9d\\x92)\\xf9v\\xfa\\xfe\\xb5\\xaa\\xecf\\xf7\\xb9\\xdb\\xe8\\xd0\\xdb\\xcf\\xa6B\\xab\\xb8\\xed\\xfd\\xdb\\x98\\x8f\\xcc\\x03s\\xf8\\xf48\\xf7\\xaf\\xa7\\xa1\\xcb\\xec\\xa2\\x97C\\xe6\\xf12\\x9cj\\xc9\\xbe\\xba\\xeb\\xe4Nn\\xa1\\xb0\\xba\\x8a]\\xaf\\x14\\xaaJ\\x99A\\xc9\\xe9\\xd7\\'\\xfa\\xfeu\\xdf\\t\\xc6\\x94\\x94\\xb6}\\xcegNu`\\xe3\\xba\\xecu\\xf7\\xd1C\\xa8xm/\\xe2\\x96&\\xf2\\x98p\\xa7\\xe69\\xc09\\xf7\\xe8k\\xe9f\\xe1V\\x82\\xa8\\x9e\\xa8\\xf9\\xb89R\\xc4\\xba2OS\\r_\\x00d\\x8a\\xe7\\x84\\xacw4\\\\\\x82a\\x9c\\x01\\x90G9\\xae\\xa8\\xcb\\xb1\\xcd(\\x97\\xe2!@l\\xe3\\xbe=+e4rK]\\r+9\\xf7\\xfc\\xa39\\'\\xa8\\xae\\xa8\\xce\\xe7%H\\xdbS\\xa3\\xd3\\x00V\\xdc\\x84\\xe5W\\'w\\xe5]\\x11}\\x8f\\x16\\xbe\\xba3\\xa5\\xb2A\\xb1[p%\\xbf1[\\xa9\\x1e-W\\xabGQ\\xa2\\xd8\\xc9p\\xc1\\xd7\\x90\\xa7\\xaeq\\x8f\\xadj\\x9fS\\xc3\\xc4UP\\xd1\\x9e\\x8b\\xa5O\\x1d\\xac\\x11\\xc6\\x1c\\x94A\\xc9\\xe9\\xcezb\\xb0\\x9arg\\x97\\x1a\\x8a\\xf7gI\\xa7\\xea\\x06G\\xdc\\tP9\\x00\\x9c\\xe0zW$\\xe3ec\\xbe\\x9d^gtt\\xdam\\xde\\xe6\\x00\\x1e\\x16\\xb8\\xa6\\x8fN\\x9c\\xae\\xce\\x8bO\\xbd\\xf3%V\\xc9\\n8\\xae)\\xc6\\xc8\\xeb\\x8c\\xee\\xce\\x86\\xd6\\xff\\x00\\x01GoZ\\xe2\\x94\\x0e\\xb8\\xcc\\xd6\\x8e\\xfc$y\\'8\\xe6\\xb9];\\xb3\\xa1U\\xb2-C~\\xa2%\\xce\\x0f\\xb1\\xac\\xa5M\\xdc\\xda5U\\x86\\xcfzv\\x8eGN\\x94\\xe3\\rE*\\x85\\x1b\\xbb\\xe2\\x85\\x1b=\\xbbV\\xf0\\x85\\xf4\"U:\\x99\\xf7\\x97\\xbbI+\\xd3\\xaeO\\x15\\xd1\\x08w9\\xe7>\\xc6-\\xd5\\xf2\\xab\\x9c\\x9d\\xc0\\xf4\\xf7\\xae\\xd8\\xc2\\xe7\\x14\\xeaY\\x98\\xd7z\\x81]\\xc7\\xf8z\\x0ct\\xae\\xa8\\xc0\\xe3\\x94\\xeca^\\xea\\x81N\\xd2p\\xa4WT`q\\xce\\xb2Z3\\x95\\xd6o\\xd8\\xb3c\\xa7\\xa8=\\xab\\xd0\\xa5\\x04x\\x98\\x8a\\xad\\xbb\\x1c\\xd5\\xd5\\xe7\\x98\\xc7\\'\\xe9\\x9a\\xea\\xb5\\x8ex\\xc5\\xbdY\\x8fy/\\'\\x1f\\xfe\\xbagu8\\x9em\\xa8\\xceV\\xeea\\x9ca\\x8f~\\x95-\\x9fiF)\\xc13;\\xcc{\\x89\\x92(\\xce\\x0bw=?\\x1a\\xc2O\\xa2;yT\"\\xe5.\\x83\\xe5\\xd3bIc\\x7f1\\xcb.\\x0f\\xa0&\\xb9\\xa4\\xb5\"5\\xe4\\xd3\\x8d\\x8a\\xf7r2\\x93\\xceEs\\xcd\\x9a\\xd3\\x8ag\\x94\\xfcV\\x82\\xf2k\\xabw.\\x05\\xa0\\x89\\xbc\\xb5\\x1c\\xfc\\xc3\\x96\\'\\xdf\\x18\\xaf\\x98\\xcc\\xe1Rk\\x9a/D\\x9f\\xdf\\xff\\x00\\r\\xb7\\xcc\\xfd\\x07\\x87\\xa7F0\\x94m\\xef]_\\xd3\\xa1\\xc9\\xd8[}\\x8f\\xc3\\xf2Jg\\x89f\\x9ad\\xd8|\\xcf\\xb86\\xb19\\xc7\\xe1\\xc7\\xd3\\xe9^-\\x08{,\\x1b\\x9b\\x92M\\xb5mv\\xd1\\x9fKV~\\xd3\\x14\\xa3\\xca\\xec\\x93\\xbe\\x9b\\xea\\x8ewS\\x96I\\xef\\x1c\\xcb9\\xb9a\\xf2\\xef\\'<\\x0fOoJ\\xf9lSr\\xaa\\xdb\\x977\\x9f\\xf5\\xd0\\xf6\\xe8EF\\x9aQV \\x81^G\\xf2\\xd7\\x82}\\x0e:V4\\xb9\\xa4\\xdc#\\xd4\\xd2m%\\xcc\\xfa\\x0c\\x91q#\\x0e\\xe0\\xd7=Ui\\xb4m\\x07x\\xa22\\x05dhL8=\\xab\\xbdhr\\xb2X\\x95\\x95\\x83\\x1eJ\\xf3\\x8e\\xf5\\xb4SM394\\xd5\\x8e\\xc2\\xcb6w\\xd6\\xf7\"\"\\x908\\t\"#`\\x03\\xd3<t\\xecq_C\\x04\\xe3%%\\xb3\\xdc\\xf9\\xfa\\xbf\\xbc\\xa7*m\\xea\\xb5D\\xb7\\x88\\xd3#[\\xcaIq\\xca\\xb9\\x1d?/\\\\\\xd7[\\xf7\\x97+0\\x83P|\\xf1\\xd8\\xbd\\xa4y\\xf6\\x9ae\\xd0\\xf9\\x1a\\x17\\xda\\xa7#\\x9f_\\xe9^\\xa6\\x1d\\xca\\x14\\xa5\\xd8\\xe0\\xc4\\xb8T\\xab\\x1e\\xe4\\x82P0\\x08\\xc7l\\xd6\\xeaf<\\xa5\\x88\\xee\\x06\\x08\\xc8\\xc0\\xfdkeQle(2\\xdd\\xbb\\xb4\\x8e\\x0f g\\xa9\\xe9[\\xc6W9\\xe6\\x94Q\\xd1i\\xe4\\x94D\\\\e\\x8f\\xde\\'\\x15\\xdb\\tic\\xc7\\xad\\xd5\\x9d.\\x9a\\x98\\x85\\x9b\\xd4\\x01\\x93\\xf9\\xff\\x00J\\xeb\\x8c\\xb4<J\\xcf\\xde\\xb1\\xd4\\xf8~\\xd1o\\'U\\x90\\xec\\x8b\\x19>\\xa7\\xe9[\\xc3S\\xc2\\xc5\\xd4t\\xe2\\xda\\xdc\\xee,B[B\\xb1\\xa1!W\\xb9<\\x93]\\x08\\xf9\\x9a\\xad\\xce\\\\\\xd24R\\xf7\\xa68\\x1d\\xa9\\x9c\\x8e\\x0c\\xde\\xd2\\xf5F\\xb4d*Apr\\x01=\\xfdk\\x9e\\xa4y\\x8a\\xa5Q\\xd3wGUk\\xa8\\x8bku\\x1b\\xbev\\x1c\\xd7\\x0c\\xa3\\xcc\\xcf^59\"t\\x1af\\xa1\\xf2u\\xc1\\xc6q\\xef\\\\\\x93\\x8e\\xa7e9is\\xa4\\xb4\\xd4P\\x01\\xce\\x01\\'\\x00\\xf3\\\\R\\x8b:\\xd5Dj\\x1dD\\x9c\\x92y\\xf5\\xac\\x14\\x11\\xd1\\xed\\x0b\\x0bz\\xbeZ\\xe4\\x9c\\xe7\\xb7\\xa7z\\x9eWr\\xb9\\xd5\\x86]_\\x05b\\xca\\xf9PF\\x06pi\\xc6=\\xc4\\xe7\\xd4\\xafq~^\\xdc*\\xb7\\xcc\\xad\\x92\\xd8\\xc1\\x1f\\x8di\\x18$\\xee\\xc1\\xc9\\xb8\\x94\\xaenw[;\\xe7s\\xe3\\x93\\x9a\\xda+\\xdeH\\xcen\\xf19\\xbb\\xeb\\xec\\xc6T6Yy\\xfc+\\xd0\\x84u\\xb9\\xe6\\xcez\\x1c\\xdd\\xe6\\xbd\\n\\xce-\\x96\\xe64\\xbdd,\\x90\\x97\\x01\\xd9{\\xf1\\x9c\\xe2\\xba\\xe3\\x15}N*\\x8e\\xa3\\xa6\\xe7\\x14\\xec\\xba\\x9c\\xf5\\xde\\xacfB\\xa4\\xe3\\xde\\xbb\\xa3O\\x95\\xdc\\xf0\\xe7Y\\xcdX\\xc7\\xba\\xbc2\\x0c\\x1e8\\xef[-\\x0c\\xd2l\\xc9\\xb9$\\xe4\\xe4\\xe6\\xae\\xe7d\\x11\\x91qw\\x93\\xb5\\xb2{T\\xb3\\xd0\\x85>\\xa8\\xe1\\xfcA\\x0bZ\\xde\\xc9!9IIe?\\x95e\\'mO\\xa9\\xc2MN\\x9a\\x8a\\xe8fi\\xaaZYg\\xe9\\xb4lQ\\\\\\xf7\\xeav\\xd6vJ\\x1d\\xc7O9\\xac\\'\"!\\x03>i\\xf1\\xd4\\xfe\\x15\\xc79\\x1d\\xb1\\x89\\x97\\xaa\\xe9\\xd6\\xba\\xbd\\xb3\\xc1p\\x81\\xd0\\x8e\\x1b\\xba\\x921\\x91\\xf9\\xd7\\x05KK\\xddg~\\x1e\\xadL<\\xd4\\xe9\\xbd\\x7f3\\xc8\\xb5\\x1b{\\x7f\\x0f\\x06\\xb6\\xb9\\xb27q\\xeff\\xb6a0Ur\\x18\\x86f\\x00\\x13\\x8e\\x00\\xc6GO\\xcb\\xe4+:x8\\xfb\\x19S\\xe6W\\xba\\xd7~\\xed\\xf9m\\xa1\\xfae\\x19T\\xc5\\xda\\xa4\\'\\xca\\xec\\xb9\\xb4\\xdb\\xad\\x97\\xf9\\xear\\x92\\x92\\xee\\xcc\\xdfy\\x8eN+\\xe5\\xe6\\xdc\\xa4\\xdb\\xdd\\x9fA\\x15d\\x92\\xe8Bxp\\xc7\\x9a\\xc6\\xf6wf\\x9d,X\\xbc\\x8a\\x0c\\xee\\xb6.\\xea>\\xf9a\\xd3\\xfc\\xfa\\xfd+z\\xf0\\x83\\xf7\\xa9=\\x0ch\\xcekJ\\x843B`\\x90\\xa3\\xa9R;W5j~\\xcen\\'E9s\\xc6\\xe8p\\x8b\\xe6\\xc6\\x7f>+\\xa9G[\\x18s]\\x1a\\xaf\\x02;\\xc70$\\xa3\\xf2\\x00\\xc6r>\\xf7\\xeb\\x9c{\\x11]\\xe9&\\xd3\\xb9\\xc6\\xa4\\xd2q6\\xb4\\x89\\xd6\\x00a\\x99\\x99\\xad\\x99\\xbelu\\x1cu#\\x07\\xa7\\x07\\xf0\\xafF\\x94\\xb9U\\x9e\\xc7\\x99\\x88\\x83\\x97\\xbf\\x0f\\x8b\\xfa\\xff\\x00\\x864f\\xb8\\xb5\\xba\\x89\\x8cd4\\xaav\\xee#\\x1d\\xba\\x83\\xfe5\\xdb\\x19\\xc6[\\x1c*\\x15)\\xb5\\xcd\\xb0\\xf7\\xda-\\xa31\\x15d\\xdd\\xf3\\x11\\xd7=\\xb3\\x9fo\\xeb]\\xbc\\xcb\\x91r\\x9c\\xae\\xfc\\xedKr5\\x95\\x81\\xc8\\xe3\\x15q\\xa8\\xd08\\xa2X9c\\xe8+h\\xce\\xec\\xcef\\xb5\\x93\\x92W\\x1cb\\xbb#>\\xc7\\x05Dtzr\\x8e;\\xfd\\x05u\\xc2W<z\\xcc\\xea\\xac\\xb2\\xc9\\x12 \\xc9#\\x18\\xf7\\xcf\\xff\\x00\\xaa\\xbb\\xa3-\\x15\\x8f\\x06\\xad\\xae\\xdb;]\\x02\\xdaXy\\x960\\x8e8\\x1c\\x8e}k\\xae/MO\\x9a\\xc5\\xce2\\xf8]\\xd1\\xb7\\xf6\\x9d\\xa0\\xa0<\\x13\\xc9>\\xb5\\xa2\\x91\\xe6r_R\\xd5\\xb3\\xee\\xf9\\x8b\\x01\\x8e\\x9e\\xb5jf\\x13\\x8d\\x8d\\x9d)\\xfc\\xc9\\x95\\x89\\xfb\\xbe\\xbd\\x05L\\xa7\\xa1\\xcd\\xcb\\xa9\\xb9kvn\\xee\\x94c\\xe5\\x07\\xa0\\xcf\\x02\\xb9\\xdf\\xbb\\x12\\xa2\\xdc\\xe6u\\xd6\\x17\\n\\x06\\x01\\xee9=\\xfbW\\x0c\\xf7=\\x98;#\\xa1\\xd3\\xae\\x03:\\x93\\x83\\xce6\\xd7%Cx\\xbdM&\\xbcd\\x00s\\x82s\\xcdadS\\x99s\\xed\\xc5\\xd6\\x12\\xc0`\\x0c\\xe0\\x9e\\xb5\\x16\\xb5\\xec_;\\xd0\\xafy9\\x19 \\x7f\\t\\x15\\xac\\x04\\xe4F\\xb7a\\xe1\\x90dd\\xe3\\x03\\xb9\\xcd]\\xac\\xd1\\xa4et\\xcc=[\\xc4\\xf6:\\x16\\x9c\\xf77\\xf7Im\\n\\xe4\\x02\\xc7$\\x9f@\\x07$\\xfb\\n\\xe8\\xe4m\\xe8L/5dx\\x1f\\x8d~4__<\\xd0i(\\xdam\\xa3|\\xbfh|\\x19\\xd9{\\x91\\xce\\x13\\xf0\\xc9\\xf7\\x15\\xe9B\\x9d\\x97\\xbcuQ\\xc2\\xc2\\xf7z\\xb3\\x03\\xc0z\\x06\\x9du\\x7fo\\xab\\xcf\\xaa\\xc3-\\xf4Ry\\x91ZG>&\\xdc\\x0fW\\xcf\\xccs\\xe8=z\\xf6\\xad\\xd5\\x9e\\x8c\\xcb1\\xc5b(\\xd3t\\xe1M\\xb4\\xd6\\xae\\xda\\x1e\\x81w9\\x0eX\\x0c\\x03\\xd4\\x1e\\xc6\\xba\\xd3\\xd0\\xf8h\\xc6\\xe5)\\xa7\\x0c\\x83i \\xf7\\xc9\\xa6o\\x18\\xeb\\xa9B\\xe6\\xe8\\xcc0I,\\x06\\x07\\xd2\\x91\\xd9\\x08X\\xc5\\xbac\\x9c\\xf7\\xfet6z4\\xd1\\xc0\\xf8\\x87U\\xfbF\\xa4\\xf1\\xaf\\xce\\x91\\x8d\\xb8\\xc7\\xe7\\x8f\\xf3\\xda\\xb9*O[\\x1fY\\x84\\xc3\\xf2RM\\xee\\xc8\\xb4i7\\x0b\\x85\\xce@\\xc1\\x1c\\xe7\\xd7\\xb5b\\xa5\\xb9x\\x98\\xdb\\x95\\x85\\xd6F{\\x81\\\\\\xf3\\x90B\\xc6d\\xed\\x86 \\x9e\\xd5\\xc39\\x1d\\xd0Z\\x18Z\\xf6\\xbb\\x0e\\x8dh\\xcf#!\\x95\\xd4\\xacq\\x93\\xce\\xe3\\xd1\\xb0;\\x0c\\x1f\\xadpU\\xac\\xa8\\xc7\\x99\\xbd^\\x88\\xf7p\\x18Yb\\'\\xee\\xed\\xd7\\xd3\\xb1\\xe3:\\x85\\xd3\\xdeO\\xbd\\xdd\\x88P\\x120Nv\\xafa\\xfe}M|\\x16&\\xa3\\xa9>i?O$~\\x99F\\n\\x9cl\\x97\\xaf\\xa9BE\\xc7|\\x9a\\xf3\\xe6\\x8e\\xb8\\x90\\xbf\\x07\\xd4V\\x1b\\x1a\\x9a\\x96Z\\x92\\x00G\\xd9\\xfc\\xbb\\x86_/\\xce\\x8d\\xc8\\x04\\x1e\\xbb\\x87O\\xe4=\\xab\\xb6\\x8d^i%(\\xeb\\xdc\\xe1\\xabE\\xef\\xcdu\\xbd\\xbf\\xc8m\\xec\\x05\\xa6\\x05\\xa5\\x1b\\xf1\\xf3\\x15<\\x13\\xeb]5i\\xf3J\\xf2z\\x93N|\\xaa\\xc9\\x10El\\xd7\\x0eZ\\'\\xf3_\\xae\\x0f\\r\\xf9W$S\\x96\\xa8\\xdaRQV\\x96\\x86\\x8a1\\xb7V\\x8e\\\\I\\x18;\\xca.\\x18d\\xf0pG\\xd0Wd]\\x93\\xbe\\xc73\\xf7\\xac\\xe3\\xb8D\\x10e\\x808\\xf6\\xebZA\\xc5j)]\\xe8Y\\x83r\\xb1(~Q\\xd7\\xdf\\xf0\\xae\\x886\\x9e\\x86\\x13\\xb3Vf\\xb6\\x99>\\xd7\\x90\\xb7*bd\\xe9\\x9eq\\xc7\\xeb\\xfc\\xab\\xd4\\xa3=\\x1d\\xfb\\x1eV\"\\x1b[\\xba\\xff\\x00\\x82J\\x17j\\x87\\xca\\x91\\x9cc<\\xfeU\\xaa\\x95\\x95\\xcev\\xae\\xecMnI \\x13\\xc0\\xe9Z\\xc6F3V6l\\x06\\x08\\xcf\\x1cq]\\x90\\x91\\xe6U:M-\\x0c\\x8e\\xaa\\xbc\\x123]\\xb4\\x9bn\\xc8\\xf1\\xab\\xb4\\x95\\xd9\\xd6iJ\\xd2j\\x90\\xc2\\xb8\\xca0%\\xbd\\x00\\xe6\\xbbb\\xdb\\x95\\xbb\\x1e\\x05{F\\x93\\x93\\xeaK\\xad|_\\xd0<=\\xa8\\\\\\xd8M\\xf6\\xab\\x8b\\x98N$\\xfb<@\\xaa\\xb7\\xf7rXt\\xfaVus\\x1a\\x14d\\xe1\\'\\xaa\\xdcx^\\x1b\\xc6c)F\\xbcm\\x18\\xcbk\\xfevH\\xc6\\x97\\xf6\\x82\\xd1\\xa3?\\xba\\xd3o$>\\xaf*\\'\\xe9\\x83\\\\\\xef:\\xc3\\xad5=E\\xc1\\xd8\\x96\\xb5\\xa8\\xbe\\xe6L\\xbf\\xb4\\xb6\\x93\\x14\\xdeQ\\xd0.Y\\x88\\xe0\\x9b\\xc5\\x00\\xfd~J\\x87\\x9d\\xd0S\\xe4\\xb3\\xb8.\\t\\xaa\\xe3\\xce\\xea\\xe9\\xe8,\\xff\\x00\\xb4\\xdc\\x8f\\x98\\xadt\\x8b]:\"\\ti\\\\\\xbd\\xc4\\x98\\xf4\\x03r\\x0c\\x9c\\n\\xce\\xb6s\\xcb\\x16\\xe9\\xc6\\xef\\xb5\\xff\\x00\\xaf\\xd4\\xb8\\xf0m$\\xbd\\xe6\\xe4\\xfdm\\xfe\\x7f\\x91\\xad\\xe0/\\xda]\\xa4\\xbe\\x8e-j\\xc2&\\xb7f\\xc1\\x9a\\xd7)\"\\x0f]\\xacHo\\xa6G\\xd6\\xbah\\xe61\\xc4h\\xf491\\x9c#\\n\\t\\xca\\x84\\x9d\\xfc\\xf5\\xff\\x00#\\xe8\\xad\\x03\\xc6\\xfa\\x16\\xb9\\n5\\x8e\\xb5g \\x90\\x00\\x11\\xe5\\t!\\xcfm\\xad\\x83\\x9a\\xe9m\\xadl|}\\\\%z/\\x96Q=\\x07F\\xb4\\x95F\\xe7V\\x00\\x82\\xc3#\\xaf\\xa5p\\xd5\\xa8\\x9e\\xcc\\x8apq\\xd5\\xa3bX8U#8\\x15\\xce\\xaa\\x17.\\x88\\x9b\\xc8(\\x10\\x1c\\xe7\\xd8Q\\xed\\x13)\\xab$W\\xd4Y\\x83\\xa9\\xces\\xd7\\xde\\xb5\\x84\\x88oS\\x13P\\xf1=\\xa7\\x87\\xb4{\\x8b\\x8b\\xd0\\x91\\xc1\\x81\\x83\\x80df\\x1d\\x15:d\\x9f\\xf3\\x81\\x9a\\xdd\\xa7)+niJZ4\\xf6>|\\xd5_^\\xf8\\x99\\xe2\\x1b\\x99\\xed\\xedL\\x821\\x88\\xe2\\x0c\\x04p!\\xe8\\xbb\\x8e\\x01c\\xd4\\xfa\\xfd8\\x1e\\xac$\\xa9\\xab3t\\xe0\\xa2\\xba#\\x82\\xd74\\xa9\\xec.\\xa5\\x82\\xe6)!\\xb8L\\x87I8 \\xd6\\xdc\\xe9\\xeczTfr\\xd7\\xd6\\xfb\\x94\\x906\\xba\\x9e\\xdd\\xaa[=\\x9aS\\xb3\\xb7Fn\\xe8\\x7f\\x13\\xf5]9\\x05\\x8d\\xec\\xed=\\xb9\\xc2\\x89d\\x01\\xa4\\x8b\\xe8OQ\\x8e\\xc7\\xf0\\xc7Z\\xa8\\xd6i\\xd9\\x9c\\x18\\xac\\x9f\\x0f_\\xf7\\xb0\\x8e\\xbf\\x83\\xfb\\x8fS[\\xe8\\xeeb\\x8ehdY \\x91C#\\xafB=k\\xbf\\x99=Q\\xf0\\x12\\xa3*Rp\\x9a\\xb3E[\\x8c\\xed,1\\xd6\\x93\\x99\\xb4;3+Ty>\\xc93D?x\\x10\\xe3\\x8c\\xf6\\xac\\xdc\\xce\\xfa\\n<\\xe9Kc\\xcane>c2\\x92\\xae3\\xdf\\xda\\xbc\\xf9L\\xfb\\xd8EZ\\xcfa\\x96:\\x9f\\xd8nRS\\x93\\x18\\x1b]Gq\\xeb\\xfdk\\x1figr\\xaa\\xd0\\xf6\\xb0q[\\x9d\\r\\xc9\\x12.\\xf4!\\x95\\xb9\\x04T\\xceW<\\x88\\'\\x17fb]\\r\\xa4\\x9c\\xe4zW\\x0c\\xe4zp\\xd5jy\\xd7\\xc4K+\\xc7t\\xba\\x865\\x92\\xddW\\x0e@\\xe5\\x7f\\xfa\\xdd+\\xc1\\xcc\\x1dW\\x0ejj\\xe9o\\xdf\\xfe\\x18\\xfb|\\x92\\xad\\x14\\x9d)\\xbbK\\xa1\\xc14$\\xdb\\x19{n\\xdb\\x8a\\xf9iS\\xbd\\'S\\xce\\xc7\\xd9sZ|\\x85G\\x1c\\xe4\\xd7\\x04\\x8e\\x88\\xec\\x16\\xe8\\xaf02\\x0c\\xa2\\x9d\\xcd\\xf4\\xaa\\xa3\\x15)^[-\\xfd\\t\\xa8\\xda\\x8e\\x9b\\x93O|\\x8e\\xf0\\xf9Q\\x08\\xf66\\xe2FF\\xe3\\x9c\\x8e2q\\xf8U\\xce\\xaa\\x94\\x92\\x82\\xb2DF\\x93I\\xf3;\\xdf\\xfa\\xf9\\x9a)d\\xb7`\\xc9\"\\x12\\xc4\\xfd\\xe4\\\\\\x86\\xf7\\xafO\\xd9\\xf3\\xfb\\xd2G\\x17\\xb4\\xe4\\xd2,\\xc9\\x87\\x00\\x9e+\\xca\\x89\\xe8KR\\xfcci#\\x1b\\x89\\xe79\\xe2\\xba\\xa2\\xcev\\xaeY\\x8a.\\x07\\xe5\\x9a\\xda(\\xc6L\\xd1\\xb6\\xb0\\x90\\x84s\\xf2FFy\\xeaEu\\xc2\\x0fF\\xf68\\xeaV\\x8e\\xb1Z\\xb2\\xe2\"\\xc66\\xa8\\xe3\\xde\\xba\\xd3\\xb6\\x88\\xe3wz\\xb1N\\x08\\x04g=\\xc1\\xad\\x14\\x88\\xe5-\\xdb\\xf6\\'\\x1c\\xf6\\x15\\xb4dr\\xd4\\x8d\\x8d\\x8b\\x1f\\x95w\\xb0\\xe38\\x1e\\xff\\x00J\\xee\\x8b\\xb6\\xac\\xf2+odt\\x9a34\\x8e\\xc78U\\xec;Wu&x\\x98\\x9b%c\\xb3\\xf0\\xdb/\\x99wr\\xc4\\x96v\\xda=\\x85wR\\x95\\xef#\\xe71\\xa9\\xda4\\xd7C\\xc7|[\\x04Q\\xeb\\x9a\\xd9}\\xbeo\\xdb%o\\xa8-\\x91_-\\x8a\\x94UJ\\x97\\xde\\xec\\xfd;-s\\x96\\x1e\\x87.\\xdc\\xab\\xf0G\\x15>\\xd6\\x91\\x8a\\xae\\x07\\xa5|\\xf4\\xe4\\x9c\\xae\\x8f\\xad\\x82j6c#\\x8c\\xa4\\xe8\\xc7\\x03\\x1e\\xb4-$\\x98\\xe5\\xacZ.\\xcd,\\x04\\x00Ny\\xea\\x16\\xba\\xaaT\\xa6\\xd5\\x8e8S\\xaa\\x9d\\xd2&\\xb2\\t#\\x85\\x88\\xf3\\xeaj\\xe9M^\\xd0fU\\xe3$\\xaf4u:.\\xa3\\xa8C ]\\xcc\\xcax\\xc2\\xf5\\xfdk\\xb68\\xfa\\xf4\\xde\\xe7\\xcd\\xe2\\xf0\\xd8v\\xaf\\xb7\\xa9\\xec\\xfe\\x0f\\xf1\\x7f\\x8b\\xb4\\xfbeM\\x12\\xf6\\xfe\\xe6\\x05\\x1c\\xda\\xc4\\xcc\\x92G\\x9e\\xbbT\\x1f\\xe5\\xd7\\xb8\\xaaY\\xbaN\\xd3G\\xc1b\\xe1\\x86\\x8b\\xb5i(>\\x8e\\xfa}\\xfa~\\'c\\xa4\\xfe\\xd2\\x1e)\\x86\\x14\\x82K\\xe6\\xf3c8\\xdfq\\x12\\xc8H\\xf4!\\x81\\x03\\xf2\\xae\\xb8\\xe3\\xa8T\\xd1\\xc4\\xe0\\x9e](>hJ\\xeb\\xb6\\xff\\x00\\x99\\xdexo\\xf6\\x99\\xbb\\x8eu]n\\xc6\\xde\\xfa\\xd7\\xbc\\x96\\x9f\\xb9\\x95}\\xf1\\xca\\x9f\\xa6\\x05l\\x9d)\\xfc.\\xc7,\\xa95\\xba\\xfe\\xbf\\xaf#\\xd3\\xf4\\xef\\x8a\\x1e\\x16\\xf1\\x8a[\\xc5k\\xa9Eir\\xb8E\\xb7\\xbb\\x02\"rI\\x1f?\\xddn\\xbdI\\x07\\xb7\\xa0\\xad\\xa3\\tA\\xb6\\xb5_\\xd7C\\x92iI+\\xe9\\xeb\\xfe{}\\xe4\\xba\\xce\\x81k\\xad@!\\xd4m\\x92\\xee\\xdd\\xa4\\xf3\\x06[ \\x92\\x0e\\x180?^A\\xef[\\xc6\\xaf.\\xc6:\\xc5\\xfb\\xc7\\x03\\xe3\\xaf\\x1dx?\\xe1\\x15\\xb2\\xdaO{o`T\\x16\\x16V\\xe4\\xc93g\\xbe\\xd1\\x93\\xcf\\xab~u\\xd1\\x1a\\xca+\\x9a\\xa3:\\xa9e\\xf8\\xact\\xd2\\xc3\\xc6\\xeb\\xbe\\xc8\\xe6\\xac\\xf5=\\x0b\\xe3\\xbf\\x84f\\xd4\\xac\\xad.-L2\\xb4\\x10\\\\\\xddD\\x11\\xf7\\x00\\t\\xc6\\t\\xcad\\xff\\x00>\\xf5\\xbd\\x1a\\xf1\\x9e\\xb1\\xd8\\xdb\\x13B\\xbeUUR\\xac\\xd3v\\xbe\\x8e\\xff\\x00\\xd3<GX\\xd3n4\\xab\\xf9m\\xee\"1\\xcf\\x191:\\x1e\\xd5\\xd9\\xed\\x0f^\\x94\\xe38\\xdd?3\\x99\\xbb\\xb1\\x1b\\x9b\\x83\\x9c\\xf5\\x07\\x8a\\xcd\\xb3\\xd8\\xa7U\\xd8\\xe8<9\\xe39\\xbc?i,\\n\\x82\\xea\\xdc\\x9d\\xd8\\x96P\\xa1\\x0f}\\xbf\\xe1\\xff\\x00\\xd7\\xad#]\\xc3c\\xcb\\xc6e\\xd0\\xc5\\xcdJO\\x95\\xf9-\\xfdN\\xa2\\xcf\\xc7r\\xdd\\xaa\\xb0\\xd1n\\x9dH\\xeb\\x07\\xef3\\xf8`U}e\\xbdynx\\x952\\xaapvu\\x92\\xf5\\xd3\\xf5.A\\xae\\xc1w8\\x81\\xad\\xae\\xede\\x90\\x1d\\xabun\\xcb\\x9f^F@\\xfcM%\\x88\\xbb\\xb3M\\x1c\\xf2\\xc1\\xca\\x9cy\\xe38\\xc9.\\xcc\\xf3\\xcdf\\x06\\xb5\\xd4\\xa4\\x8c(Y\\x01<\\x1e\\xf9\\xff\\x00\\xf5\\xd7=I\\xdaG\\xd5\\xe1\\xa6\\xa7IJ\\xfa\\x18\\x130.p1\\x81\\xd0\\xf7\\xae9\\xcc\\xf5\\xa2\\x8d\\xbd\\x03S[\\x98>\\xc8\\xec\\x04\\xf1\\x8f\\x97?\\xc6\\xbf\\xfdj\\x95V\\xea\\xcc\\xf3qt\\x1c%\\xedV\\xcf\\xf0\\x0b\\xf4\\xc0$q\\xea+)J\\xe8T\\x99\\x89r\\xaa\\xe1\\x91\\xd4:0\\xc3)\\xe8ErJVg\\xa9\\x06\\xd6\\xa9\\xeay/\\x884\\xe7\\xd1\\xaf\\xa7\\xb7?\\xea\\x9f\\x0c\\xa0\\xfe\\x9f\\xe4W\\xca\\xe3i\\xfb\\tJ)\\xfb\\xb2\\xd4\\xfd\\'\\x05^8\\xaaQ\\xa9\\xd5\\x18\\x8e>c\\xce}\\xeb\\xc5\\x92=t\\xc8\\xd9q\\xc1\\x07>\\x956kB\\xbc\\xc8\\xf9\\x07\\x8a\\x9d\\xa4=\\xd1\\xbf\\x04m\"\\x93\\x19\\x90\\xa88\\xf9z\\x03\\x81\\x9f\\xd6\\xbd\\x955\\xd0\\xf2\\xa5\\xa6\\xe6m\\xbcL\\xec6\\xf3\\xcfJ\\xf3\\xe0\\x9bg|\\x9a[\\x9ap\\xc3\\xbdp1\\xee}\\xab\\xae*\\xfb\\x1c\\x92\\x95\\xb74\\xec\\xecK\\xb0gR\\xb1\\x01\\xc7l\\xd7Dc\\xdfc\\x92\\xa5D\\xb4[\\x9a\\x12\\xc9\\xe8x\\xe0~\\x95\\xd5\\xcfs\\x8dB\\xc4;\\xb1\\x92\\x0ehR\\xb6\\xa5\\xf2\\xa69O<u5JD\\xb8\\x96\\xed\\x80\\x04g\\x93\\xe9[\\xc2Z\\x9c\\xb5b\\xeciB\\xdb@?\\x90\\xf4\\xae\\xd8\\xcbMO&\\xa4:\\x1b\\x9at\\xaf\\x1c\\x1ef8^\\x17\\xea{\\xd7\\\\$\\xf9y\\x8f\\x1a\\xbcS\\x97)\\xdcxnO\\xf4\\x0c\\xf22\\xe4\\x8c\\xf7\\xed\\x9f\\xd2\\xbd\\x1aR\\xb4O\\x97\\xc6\\xaf\\xdeX\\xf3\\xbf\\x8b\\x9a2Xj\\x89\\xa8\\x1e\\x16\\xf1y\\'\\xa6\\xf5\\x00c\\xd3\\xa6\\r|\\xe6k\\x05\\x19\\xaa\\xbf\\xcd\\xf9\\xa3\\xef\\xb8c\\x14\\xeb\\xe1\\xde\\x1f\\xac?&q\\xd7\\x960\\xe96HY\\x84\\x97\\x92r1\\xda\\xbc\\x99\\xc6\\x14a\\xae\\xb2g\\xd5\\xd2\\x9dLEGeh\\xa2\\x85\\xa5\\x93\\xde\\x13#\\xb6\\x17<\\x81\\xd7\\xd4\\xe0W<\"\\xea{\\xcc\\xee\\x9c\\xa3IY#I\\xf4\\x98#\\x89\\xdbc\\x05\\x88\\x80\\xcf\\'\\x0c\\x01\\x07\\x1f/^\\xc7\\xf3\\xae\\x89R\\x84S}\\xad\\xf8\\xf9\\x1cK\\x13.d\\xba\\xbe\\xde^a\\xf68#p\\xb2L\\x88U\\xfc\\xa3\\x8eB\\x9cd\\x1c\\xe7\\xee\\x9ey\\xa4\\xd58\\xbbI\\xad\\xed\\xff\\x00\\x07\\xd0\\xcb\\xdbT\\x92\\xbcb\\xf6\\xbf\\xf9\\xafSoD\\xbb\\x08\\xe8\\xc9\"\\xca\\x08\\x1c\\x1f\\xbc\\xbc\\xd7$\\xab\\xdb\\xafC\\xca\\xc6P\\xe7MJ6\\xfc\\x99\\xed\\xbe\\x03\\xbc\\xb6\\xbb\\x91%\\x8a\\xe0\\xdb^\\xc0Ff\\'\\xb8\\xec\\xc3\\x18#\\xb5y8\\xb9\\xde7Z\\xa3\\xf2L\\xda\\x8dZW\\x8c\\xa3x\\xcb\\xa7\\xf9y\\x9e\\x99\\xaf|*\\x83\\xc7VgVYWO\\xd5\\x8a\\xfc\\xc0F\\x04W\\x07\\x1c\\x1fb}\\x7f1_\\x1d\\xfe\\xb0O\\x05W\\xd9MsG\\xbfT|V\\x1b=\\x9eYS\\xea\\xcdsS\\xf5\\xd6?\\xd7o\\xb8\\xf2\\xbf\\x12\\xf8\\x1f\\\\\\xf0\\x9d\\xb2\\xcf\\xa8YIk\\x0bJbY\\t\\x041\\xc6{\\x13\\xdb\\xf9\\x1fC_O\\x97\\xf1\\x06\\x13\\x1dQ\\xd2\\xc3UR\\x92Wk\\xad\\xb6\\xea}\\xce\\x0f3\\xc2c\\xe5\\xcbBjN\\xd7\\xb7\\xf5\\xfd}\\xe77o\\xae]X;(f\\x00\\x8c\\x1ez\\xf7\\xc7\\xd3\\xa5}}\\x1c\\xc2P\\xeaz\\xf3\\xc2\\xd3\\xaa\\xafc\\xd0\\xbc\\x17\\xf1\\xc7W\\xf0\\xec\\x1fc\\x8a\\xec\\xc9h\\xc0\\xe2\\xde|\\xb2\\x82z\\x95=U\\xbb\\x82\\x0f^\\xb9\\xafv\\x9e6\\x9dksny\\xb52\\xf7\\rb\\xb4<\\x8f\\xc6\\xbe\\x13\\xba\\xb9\\xbe\\x9bS\\xb5\\x92\\xe7U\\x82\\xe9\\xf7\\x97\\x94\\xf9\\x93\\x06\\'\\xf8\\x8e>n{\\xe3\\xf0\\x14\\xea\\xd3\\x97\\xc7\\x17\\xcc\\x99\\xf59~aN\\xca\\x8c\\xd2\\x84\\x97N\\x9f#\\xeb\\xef\\x05hV\\xdf\\x0f>\\x1fi\\xf63\\x81\\x0c6\\x16\\x81\\xaeq\\xdd\\xc8\\xdc\\xe7\\xdc\\x97-\\x8f\\xa8\\xafN\\x0f\\xd9\\xc5$~y\\x8a\\xaa\\xf1\\xd8\\xba\\x95[\\xd1\\xbf\\xc3\\xa7\\xe0x\\x07\\x8d5\\xb9\\xf5\\xcdZ\\xf6\\xfeD(g}\\xb1D=\\x06\\x02\\x81\\xeb\\xc0\\x1fZ\\xebS\\xb2\\xd4\\xf70\\xb0\\x8aJ+\\xa1\\xcc_A0\\x89|\\xe8$\\x82\\\\|\\xc9*\\x15o\\xaf4\\xdc\\x9bG\\xa3NQRj.\\xeb\\xc8\\xc8Pm.c\\xb9\\x8f\\x01\\x91\\x83~ \\xe6\\xb9\\x9c\\xed\\xaa=\\x0b\\xf3\\xc5\\xc2]Oz\\x996\\xbeA\\xdc\\xbds\\xed^\\xb3\\x9fc\\xf2\\xa8\\xbe\\x83[k!\\xe7\\xf2\\xace;\\r]3\\x95\\xf1t\\xb6\\xd6\\xdaE\\xc4\\xd2\\x85\\xdc\\x13lrm\\xc9\\x04\\xf09\\xed\\\\\\xb5*\\xa8\\xc5\\xb6{\\xd9|jN\\xbca\\x1f\\x99\\xe6\\x17q\\x95\\x94\\xbf\\xf0\\x9eA\\xeck\\x82S\\xea}\\xbc\\x1d\\xd5\\x8a\\x12\\xbbE\\x89cb\\xb2F\\xd9\\x0c\\xbf\\xe3\\\\\\xcewz\\x1d\\x89\\'\\xee\\xcbfl\\xd9j\\xe9\\xaa\\xc3\\xb5\\xd8-\\xca\\x8f\\x99O\\x1b\\xbd\\xc5h\\xaa&\\x8f2\\xae\\x1d\\xd0\\x95\\xd7\\xc2W\\xbaB\\x0b\\x05\\x03x\\x1c\\x03\\xc0\\xcda&mM\\xad/\\xb1\\xc5x\\xcegX\\xad.%\\xb4\\xdaA1<r\\x80\\xea\\xc0\\xfa\\x11\\xf8\\xf3\\xc1\\xaf/\\x13U\\xc6*r\\x8e\\x97\\xb3OT}nUN-\\xce\\x9c\\'~\\xa9\\xab\\xa6\\xbd\\x7f\\xa6p2\\xc1\\xb6}\\xa3\\xe7\\x19\\xfe\\x1e\\xff\\x00J\\xf9\\xb9C\\xdf\\xb2\\xd4\\xfb8\\xcf\\xdd\\xbe\\xc4W9\\x96y\\x1b9\\xf9\\xbe\\xf5:\\x9e\\xfc\\xdb\\xf3\\xdcp\\xf7`\\x91\\x00R\\t\\xc1\\x19\\x1c\\x83X(\\xbe\\x86\\xad\\xf7:\\x1b{yu\\x88Rtd\\x1c\\x04`\\x10/#\\xafA^\\x8d9s\\xc6\\xe9\\x9eT\\xdch\\xcb\\x95\\x94\\xec\\xe5d lY8 n\\xcf\\x19\\xfaW,d\\xd1\\xd78\\xa7\\xd4\\xd3D*\\x8a\\xf8\\xc6\\xe1\\xf9\\xfb\\xd7b\\xda\\xe7+wv5U\\xb6E\\x1a\\xe4\\xf0;\\xfe\\x7f\\xd6\\xbaV\\xc7\\x13\\xb3m\\x91\\xb9\\x04\\xd1q\\xa44v\\xe6\\x9d\\xc7bH\\xf8|\\xfet&\\r\\x17\\xa1\\x01pH\\xc9\\xf4\\xad\\xe9\\xbbnrTW\\xd1\\x17a9\\x03=\\xfaWLg}\\x0e\\x1a\\x90\\xb6\\xa7C\\xa4\\xa9\\xbet\\x87\\x81\\x1ar\\xc4\\x7f:\\xf5iK\\xdaZ=\\x11\\xf3X\\x9bQN}Y\\xdeiAc\\x85cA\\xb5\\x14`\\n\\xefR\\xb2\\xb2>F\\xbbr\\x93\\x93\\xeaZ\\xd7\\xfc;\\x0f\\x89\\xb4Y\\xacf\\nd\\xfb\\xf0\\xb3\\x7f\\x0b\\x8e\\x87\\xfa\\x1fc\\\\\\xb8\\x8aj\\xbd7\\x06N_\\x8f\\x9e]\\x8a\\x8dx\\xed\\xb3\\xf4\\xfe\\xb5>~\\xba\\xb3k\\xaf\\x14\\xdc\\xc1r\\x8c\\xab\\t(Pu]\\xa3\\x18\\xfc\\xeb\\xe2\\xaa>j\\xedO\\xa1\\xfb\\xcd\\tEa\\xa38;\\xdf_\\xbc\\xd7\\xba\\x96\\xd7GUi\\xad\\xe2\\x96G\\x01>\\xceAFE+\\x95\\x966\\x1dy\\x1d\\xfd\\xc1\\xea\\rUZ\\xb1\\x87\\xbbk\\xe8\\xd3_%f\\xbe\\xf3\\xcc^\\xd3\\x16\\xdc`\\xed\\x15\\xd7\\xbbN\\xcd4s\\xf7WW\\xba\\x9aB\\xf3\\xca\\xd2\\xb4P\\x88\\x83\\x9e\\xa5G\\x00\\x13\\xdf\\x00\\x01\\xf4\\x02\\xb8g^R\\xb2\\x93\\xd9[\\xe4zp\\xa7J\\x8c\\x9f*\\xdd\\xdf\\xe6Ke\\xa2\\xb4\\x801\\x06\\xb9\\xe5W\\xa22\\xab\\x89\\x8c:\\x9b\\x91ikg\\x08\\x9aS\\xe5!8\\x04\\xf7>\\xc2\\xb0U\\x1c\\xdf,ug\\x8d,c\\xad\\'N\\x92\\xbb4\\xb4\\xedp\\xd9\\xc8\\x1e\\xdewGc\\x8c\\xa9\\xc7\\x03\\x18\\xe4\\x1fj\\xe9\\x954\\xa3\\xcb\\xb9\\xe7b0>\\xda6\\xa9\\x13\\xd2\\xbc5\\xf1\\x8fX\\xd3\\x0c`\\xcb\\x1d\\xc2#\\xb4\\x829\\xd7+\\xb8\\x81\\x8f\\xc8\\x8c\\x8f\\xa9\\xaf\\x9d\\xc5eT1\\x17\\xba\\xb3z\\x1f\\x9fc\\xf8w\\x0fV\\xe9\\xa6\\xb4\\xb5\\xd7o\\xf8\\'\\xb3\\xf8{\\xe26\\x8f\\xf1sE\\xbc\\xd0\\xf5X\\xc5\\xb5\\xe4\\x8b\\x91\\n\\xc82\\xf8\\x19\\x0f\\x19#\\x82\\x08\\xe9\\xce\\x07\\xa8\\xcd|\\x06\\'*\\xaf\\x92\\xe2a\\x8c\\xc3\\xea\\x97_],\\xfc\\x8f\\xcdqYF+\\x87\\xb1\\x10\\xc6a\\x9f4\\x17[m~\\x8e\\xdf\\x9fs\\x91\\xf8Q\\xf0\\xff\\x00N\\xd5#\\xd4\\xef5\\xdbx\\x8cv7Q\\xc5$w!\\x97\\xcb\\xfb\\xca\\xc0\\x9c\\x8crG\\xd3o>\\xfe\\xc6}\\x9eb\\xb0\\xf5ia\\xf0/Y\\xc6N\\xfa=\\xadk/3\\xe9s\\xcc\\xd6\\xb5\\x05\\nxI;\\xce-\\xa6\\xac\\xef\\xb3]\\x1f\\xfc\\x12\\x9f\\xc5/\\x82\\xeb\\xa2C{\\xab\\xe8\\x93\\x19`K\\xd5\\x8f\\xec)\\x19%\\x03\\x85+\\xb0\\xe4\\x96\\xfb\\xd8\\xe9\\xfc\\xab\\xaf\"\\xe2\\x9a\\xb5\\xeaS\\xc3c!i8\\xb7\\xcc\\x9e\\x97M\\xdd>\\xdb\\\\\\xdb#\\xe2\\'\\x89\\x940\\xd8\\xa5g\\xcb~n\\xf6m;\\xad-\\xb1\\xe6\\xb6:\\xf5\\xde\\x87~\\xf0\\xb9h\\xa4\\x8aNU\\xb8*G_\\xa1\\x04W\\xecx<\\xc5\\xc7K\\xe8}\\x95\\\\-<M5R:\\xddn{\\\\\\x1f\\x11.\\xbe\\'\\xf8z\\xd3E\\xb7T\\xfe\\xd3\\xf3@\\x9c3\\x85\\xf3\\xc0\\xfb\\xac>\\x87$\\x8f`G|}\\x14g\\x19\\xfb\\xf0\\xd8\\xf9\\xaa\\xd89\\xe1\\x9e\\xbb3z/\\x05Zxf\\xd5f;n5\\x16]\\xaf9\\x1c/\\xb2\\x8e\\xc3\\xdf\\xa9\\xfd+\\xd2\\xa1+\\xbb\\xb3\\xc5\\xc5\\xd5\\x94\\xa1\\xc8\\x9d\\x91\\xcfx\\x8fA\\x83\\xc4V\\xcf\\x14\\x81R\\xe0\\x0cE/B\\x87\\xd3\\xe9\\xeb]U\\x12\\x929pX\\xa9\\xe1\\'u\\xb7U\\xfdu<&\\xf6\\x12\\xaa\\xc6?\\x9cn\\xdb\\x95\\xe4g\\xa5xs\\x9fc\\xf5\\x1aM^\\xcfC\\xdb\\xf4\\xddB\\xd7S\\xd3RKK\\x85\\x9d@\\x03p\\xea8\\x1c\\x11\\xd4\\x1f\\xadzJ\\xa2\\x92\\xf7Y\\xf9\\x85z5hVj\\xacm\\xfd~#2[\\x00\\xed\\\\\\x0cq\\xfc\\xcdD\\xa43\\x89\\xf1\\xe3\\xacvq\\xd8o\\x19a\\xe6*`r\\xbe\\x9f\\xcf\\xf2\\xae\\x1a\\xb3\\\\\\xbc\\xa7\\xd3\\xe5I\\xb9\\xba\\xf6\\xf2\\xff\\x00\\x82y\\xda\\xc0\\xd6\\xe7k\\x92I\\x03\\x03\\xb7\\xb7\\xe9^r|\\xa7\\xd8\\xb9\\xa9\\xea\\x8a\\x17\\xd1\\x85l\\xb2nl\\xf0GQQ9\\'\\xba:\\xe8\\xc9\\xec\\x99\\x9d#47\\x01\\xd4\\x94q\\xc8=\\xf3B\\x95\\xb5GU\\x94\\xa3fn\\xd8\\xea+\\xa8A\\x868\\x9d>\\xf0\\xcf_z\\xb9K\\x99\\\\\\xf2\\xea\\xd1te\\xa6\\xcc\\xc0\\xf1\\xday\\xbad+\\xb7%d2\\x1f`\\x01\\x1f\\xcd\\x87\\xe9^v-sS\\xb7m\\x7f3\\xdc\\xc9\\x1f-y>\\xea\\xdf{\\xff\\x00\\x80\\xcf=d\\xc0$q\\x91\\x8c\\xd7\\xcf\\xa3\\xee\\xcan\\x84n\\xf7\\xebQ\\xdc\\xd3\\xb1\\x1af9\\x03\\x0cq\\xcf4\\xa2\\xdc]\\xca\\x92RV\\x16\\x1b\\x86\\x89H\\r\\x8c\\x9c\\xf4\\xcdD_qJ\\x17:)c@\\xe5c\\x00*\\xa8\\x04(\\xc6\\x0f\\x7f\\xadw\\xbbl\\x8e\\x08\\xb7k\\xc8\\xbfaj\\xa6#4\\x84\\x14R\\x17\\x00\\xf3\\x9e\\xf5\\xb4\\x15\\xd5\\xcej\\xb2w\\xe5[\\x93\\xcc\\xe5\\xdc\\x9cm\\'\\xb5j\\xd9\\x9cb\\x92!\\xdd\\x93\\x9a\\xce\\xf7f\\x96\\xb1$i\\xbc\\xe0\\xb0\\x18\\xf55nV\\xdc\\x9d\\xf6\\x1e\\x86\\x03!@\\xd2\\x12\\x07Q\\x1f\\x1f\\x9eiF\\xa2og\\xf7\\x04\\xa1$\\xae\\xed\\xf7\\xff\\x00\\xc0-A\\x93Z\\xadL%dhC\\x1b,c\\xae\\xf6\\xe8\\xa0s\\xf5\\xae\\xc8]/3\\xce\\xa8\\xd3~H\\xde\\xf0\\xdcon]\\x9c\\x159\\xc0$u\\xafO\\n\\x9c\\x13r>w2\\x94jYD\\xed\\xf4\\xdb\\xa5\\xc0\\xce+\\xbe\\xe7\\xc7\\xd7\\xa6\\xce\\x8bO\\x94L\\xca{{Rn\\xc7\\x8fV<\\xa8\\xe0>(xQ4_\\x14Xx\\x868wY\\xdd\\xe2;\\x9d\\xa0\\xe1_\\x07\\x93\\x8cu\\x03\\xeapk\\xe53\\x08{:\\xca\\xb2Z=\\xcf\\xd28g2x\\xac\\rL\\xbd\\xbf~\\x1f\\x0f\\x9a\\xff\\x00\\x80\\xff\\x00C\\xce5\\xfby\\xa6\\xd7\\xaf\\x12Fg\\x08\\xc7\\xcb\\xdcs\\xf2\\xe7p\\xc7\\x03\\x83\\x9c\\xe7\\x039\\xce\\x06k\\xe6\\x15\\x7fi\\xef\\xbe\\xa7\\xdaa\\'\\x18a\\xa1%\\xa5\\xf7\\xf5\\xdb\\xf0\\xdb\\xe4mx/\\xc3G]\\xf3\\xadB\\x85\\x9a&\\x0cX\\x83\\x8f/\\xb9\\xfe_\\x9dy\\xf8\\xdcW\\xd5\\xf9e\\xfc\\xda|\\xde\\xc7\\x8b\\x9cc\\xe5\\x83p\\xa8\\x9e\\x92\\xd3\\xe7\\xfd\\\\\\xe9u\\xab\\xff\\x00\\r\\xf8\"\\xdcBYu=IFvDA\\x8ds\\xfd\\xe6\\x07\\xf4\\x15\\xe6\\xe1\\xa9cq\\xf2\\xe7\\x9f\\xee\\xe1v\\x9awR\\xd3\\xb2ko3\\xe7\\xb0\\x98<\\xc76\\x97\\xb4\\x9d\\xe1O\\xcfw\\xe8\\xbfW\\xf8\\x9e[\\xaa\\xeb\\xf7\\x1a\\xc5\\xe1\\x9aS\\x8e\\xc1W\\x80\\xa3\\xd0\\x0e\\xd5\\xf5\\x94\\xe9\\xc2\\x94y`\\xac~\\x89\\x87\\xc1\\xd3\\xc2\\xd3\\xf6t\\xd7\\xf5\\xe6>\\xd6\\xe4\\xa6*\\x858\\\\\\xd7\\xb6\\xd4\\xf1\\x81\\x9e=k)F\\xfa\\xa3\\xcc\\xab\\x85R\\xdd\\x1bz?\\x88\\xae4\\xadB\\xde\\xf2\\xd6c\\x15\\xc4\\x0e\\x1d\\x1cv\"\\xb9\\xaa\\xd2\\x8dX:sWL\\xf11ye:\\xf4\\xe5Jj\\xe9\\xab3\\xd2<Q\\xf1\\xdfU\\xf1n\\x88\\x9ad\\xb1\\xc3il\\xcc\\xaf0\\x80\\x10f`?\\x88\\x93\\xd3\\xa1\\x03\\xd8u\\xc0\\xaf\\x9e\\xc2dXl%on\\x9bo\\xa5\\xfaz\\x1f\\x07\\x83\\xe1J9}w^7\\x94\\xb6W\\xe8\\xbc\\xbc\\xfc\\xcdo\\x84\\x9f\\x125\\x0bO\\x13\\xe9\\x9at\\xf7\\x12\\xde\\xd8\\\\\\xdcE\\x07\\xd9\\xe4\\x93\\x84b\\xca\\xa8\\xcaNq\\xb7\\x8e=8\\xaf7\\x88r\\xaaU\\xf0U\\xaaS\\xf7&\\xa3\\'t\\xbaY\\xdd|\\xff\\x00=N\\x0c\\xf7(\\xa3S\\x0bV\\xaa\\x8a\\x8c\\xd4^\\xb6\\xe9\\xbb_3\\x94\\xf8\\xbd`\\xba\\x7f\\xc4Mi\"\\xd8U\\xee\\x9d\\xc0B0\\x019\\xed\\xd2\\xbd\\xcc\\x87\\x13*\\x99}\\t\\xca\\xf7\\xe5[\\xfa\\x1e\\xe7\\x0fUu2\\xda<\\xfb\\xa8\\xa5\\xf7\\x1c\\xf6\\x9b\\xaa\\xddiw)wj\\xec\\xaf\\t\\x0cv\\x92\\n\\xf3\\xd7\\xf0\\xaf\\xbe\\xc2c\\x1c\\x1a\\x92\\xe8{UhB\\xacy%\\xd7c\\xe8O\\x02|W\\xb6\\xf1\\xc6\\x9e\\xb6\\x17\\xce\\x89\\xaa(\\xc2\\xc8\\xdd&\\xff\\x00\\xec\\xbf\\x9f\\xd7\\xaf\\xd7P\\xad\\x1a\\xab\\x9e\\x9f\\xdc|&e\\x97N\\x85\\xf4\\'\\xd6`\\x8d\\xednRfh\\xe1\\xd8|\\xc6C\\x83\\xb7\\xbf=\\xb228\\xe7\\xd3\\x15\\xd9)^:\\xbd\\x0f\\x97\\xc3\\xcaT\\xea\\xc5\\xc1^W\\xd2\\xfd\\xfa\\x1ee\\xa7\\xe9\\xd6\\xfa\\xd7\\x8b!\\x1aj*\\xe9\\xb1:\\xdc\\xe5Wn\\x02\\x858\\xc7\\xfb\\xc7\\x15\\xe6))\\xd4\\\\\\xbb\\x1fi^\\xac\\xf0\\xb8I:\\xee\\xf3j\\xdf7\\x7f\\xd0\\xf4\\x07_\\xde\\x16\\x03\\x0cx,\\x07&\\xbb\\\\\\xd2>9=,\\xf6#\\x92\\x1c\\xb7C\\xcf&\\xb9\\xe5P\\xb5-\\x0eo\\xc7z{\\xddx~F\\x88\\xc6\\x8f\\t\\xf3\\x0b8\\xea\\xa3\\xa8\\xcfj\\xe2\\xab6\\xe2\\xec{yMh\\xd3\\xc4\\xa5;\\xd9\\xe9\\xf3\\xefc\\xcb\\xef\\x17|\\xcaS\\x93\\xb5An\\xdc\\x00+\\x8eS\\xbb>\\xe6\\x9e\\x89\\xa6g]\\x9c\\x8c\\x1cc\\x91\\x8a\\xcf\\x99\\x9dt\\xcc)\\x94Dp\\xbc\\x00zg\\x8a\\x84\\x94]\\xe2{Q\\x94\\xaa/x\\x81&h\\xdc2\\x12\\xac\\x0eA\\x15|\\xc6\\xbe\\xcdIY\\x97\\xbcB\\xb2k:\\x04\\x82\\xd9<\\xe9\\x89RQ@-\\x9c\\x8c\\x8a\\xc7\\x10\\xe5:R\\x8c59\\xb0\\x16\\xc2b\\xd7\\xb5vZ\\x9c\\\\~\\x1e\\xd4g\\x91c\\x16\\xae\\x8c\\xca\\\\o\\x1bA\\x03\\xd3=O\\x1d:\\xd7\\x8a\\xa8Un\\xdc\\xa7\\xd8K\\x1d\\x86\\x84\\\\\\x9c\\xd7\\xcb_\\xeb\\xd4\\xc7\\x9a>+\\x9c\\xf4\\x11Rd*@\\xe3\\xf0\\xa5#X\\xea\\t\\x1a\\xe3\\x96P}\\r4\\x91-\\xbb\\xe8u\\xd66F\\xe2\\x06uA\\xb9y9 \\x0c\\x93\\xd3\\xf9\\xfeU\\xdb\\x05tyu\\'\\xcb+3C\\xc9H-\\xbc\\xa5;\\x88\\x19f\\xf55\\xb6\\xd1\\xb1\\xce\\xa4\\xe5+\\xb27\\x928\\xe5\\xf9\\xa2\\x12\\xf3\\xce\\xe2@\\xfd\\x08\\xac\\xa4\\xe5}\\x8d\\x14n\\xb7\\xb1^M\\xaf!`\\xbbW<.r\\x05=\\xf5)]+\\\\\\x9a5\\xce+T\\xcc\\xd9:\\xa0\\xfc1TfOk\\x1b\\xca\\xe0*\\x923\\xeb\\x8a\\xa8\\'\\'\\xa1\\x9dIF\\x0b\\xde5\\xad`hr\\xce\\xdb\\x9f\\xa0\\x00\\xf0+\\xd0\\xa7\\x1eMd\\xf5<z\\xf3\\xf6\\x8b\\x96+CgL$\\xab\\x0c`ds\\xef\\xfeq]\\xd4\\xa5t\\xcf\\x13\\x15\\x1b4o\\xd8Jwc\\xee\\xf5\\x1c\\xf7\\xae\\xaec\\xc1\\xad\\x1e\\xa7Y\\xa4\\xcb\\xb0\\x02O\\xca)9\\x1f=\\x88\\x8d\\xcd\\xf9\\xb4\\xd8|Q\\xa3\\xdd\\xe9\\x97`\\x18.W\\x19\\xc6v7\\xf0\\xb0\\xf7\\x06\\xbc\\xecD\\x15X\\xb8\\xb3\\xce\\xa3\\x8b\\xab\\x96\\xe2a\\x8a\\xa5\\xbc_\\xde\\xba\\xaf\\x9a<\\x0bR\\xd3.\\xbc1\\xad\\xc9\\xa6\\xea\\xd6\\xbed\\x90\\x16Tf$\\x1d\\xa0pT\\xf7\\x1d\\x08\\xfa\\xfe\\x7f\\x03\\x89\\xc2\\xcdI\\xa8\\xbb3\\xf7(J\\x19\\x8e\\x19b\\xb0s\\xb2\\x9e\\xbf\\xe7\\x7f>\\x8f\\xcc\\xb4\\xba\\xe4\\x1a5\\x91\\x9a\\xc0\\xbd\\xb4\\xb2\\xae#\\xda\\xc7~\\xdc\\x15$\\x9e\\xa3>\\x9f\\xadm\\xf5\\x1c5h\\xc6X\\x95\\xcc\\xfb}\\x9b\\xdf{\\x7fJ\\xe7:\\xc0<EE\\xf5\\x9fz\\xdb\\xf6\\xbe\\xe7\\x03\\xa9\\x06i\\xd9\\xd8\\x00Oa]\\xb2\\x95\\xdd\\xcf\\xa9\\xa4\\xd5\\xac\\x8a\\x18\\xc1\\x15\\x95\\xce\\x8b\\x93$\\xa5i\\xdc\\xceJ\\xe4\\xd1\\xdd\\x15\\xa0\\xc9\\xc6\\xfb\\x97a\\xbe\\xe7\\xad&\\x8ceL\\xd2\\xb4\\xbd\\x05\\xf9?*\\x8c\\xfdOj\\x8eS\\x82\\xad\\x1d\\rM?S\\x929\\x92H\\xa41\\xc8\\xa7r\\xba\\x9c\\x15#\\x9c\\xe6\\xb1\\x94\\x14\\x93\\x8c\\x96\\x87\\x93\\x89\\xc1FQi\\xa3\\xde\\xbc?\\xe0\\x8d;\\xe3lRk\\xab~4\\xddT\\xc6\\xa9=\\xa2G\\xba0\\xe86\\xe4d\\xe4)Q\\x19\\xcf\\xae\\xee\\xb5\\xf9vi\\x9dW\\xe1t\\xa9:\\\\\\xf4\\xef\\xa3\\xbd\\x9d\\x9e\\xbd\\xadt\\xef\\xf2\\xb6\\xc7\\xe4\\x18\\xdc\\xca\\xb7\\rIa=\\x9f==Zw\\xd6\\xcd\\xdf\\xb5\\x9bN\\xff\\x00+lr~%\\xf8=\\xe2_\\r\\xbf\\x9c\\xb6 \\x84\\xe9,R\\xa3)\\xfc\\xcfOb+\\xdd\\xca\\xf8\\xcf*\\xc6\\xc9*um.\\xcd5\\xff\\x00\\x00\\xf6\\xb0\\x1cG\\x80\\xc6.Oi\\xbfF\\x9a8\\xbb\\x8b\\x1dCJ\\xba\\xfb@\\xd2\\xef\\xacfC\\xb8\\xc9k\\x19\\x92?\\xfb\\xe7\\xb7\\xfd\\xf5\\x8fj\\xfd\\x17\\x0b\\x9caSR\\x8c\\xd2~M[\\xee\\x7f\\xe6}\\x84*a\\xb10\\xe4\\xf6\\xd1\\x92\\xf3i?\\xbf\\xaf\\xdd\\xf3=/\\xc3?\\x1a\\xf4\\xab\\xbbD\\x83Y\\xbeKMJ?\\x91\\xdeT`\\xb2\\x8cc$\\xe3\\x00\\xf6?\\xcf\\x9a\\xfbJ8\\xfa\\x15c\\xac\\x91\\xf1y\\x8f\\x0c\\xe3#S\\xdb`\\xe0\\xe5\\x17\\xd9\\xad?\\x13[\\xc3z\\xc7\\x86\\xe0\\xd55G\\xb4\\xd5t\\xe2\\x97L\\x8e\\xab\\x1d\\xca\\x1cq\\xc8\\x03>\\xb9?\\x8dTe\\x15&\\xe0\\xd3\\xbfc\\xc4\\xc7a3\\x17F\\x94j\\xd1\\x95\\xe3{\\xfb\\xaf\\xbe\\x9f\\x81\\xd3\\x0b\\x9by\\xc8\\xf2\\xe6\\x8d\\xd4t\\n\\xe0\\x8a\\x1b\\x93\\xe8\\xcf\\t\\xd3\\xab\\x1f\\x8a-|\\x80\\x8cg\\xe48=\\xeb\\x197\\xd5\\n\\xcf\\xa9\\x95\\xad\\xc0\\xf7\\x1a]\\xd4;\\x82\\x02\\x8c~a\\x95\\xe9\\xces\\xf9W;\\x9fK\\x9d\\xd8I\\xa8V\\x84\\xb7\\xd4\\xf1\\x88\\xc1{h\\xf7 \\x07\\xcc,H?\\xc2F\\x07\\x1d\\xba\\x13\\\\JWG\\xe9\\xb6JN\\xcf\\xa1\\x97\\xa9\\xabH\\xec\\xaeNH\\xe0\\x83\\x83\\xd2\\x89K\\x9bFw\\xd0\\xf7l\\xd20eC\\x8eIc\\x8c\\x0c\\xf55*M+\\x1e\\xdcm~\\xc5$M\\x99%\\x9f\\x9f\\xe1s\\x9cT\\xc5\\xdb\\xab;\\xa5\\xad\\xb4_#kD\\xb8S\\x0b\\xc4O\\xcd\\x9c\\xa9\\xf6\\xf4\\xff\\x00>\\xf5\\xb4ety\\x18\\xdaMIMl\\\\\\x0c\\xb6a\\xa4\\x8d\\x02\\xed!\\xc8E\\xcey\\xeb\\x8f\\xebKgta\\xca\\xea\\xd9M\\xdf\\xa1\\xe7\\xf3\\xd9\\xc1y\\xa6\\xc1,Q\\x11*\\x16\\x8eC\\xd07$\\x8f\\xc7\\x07\\xf4\\xaf)\\xc62\\x82\\x92G\\xd9\\xc6\\xa4\\xe9U\\x94$\\xf4vk\\xcb\\xa3\\xfe\\xbc\\xcerh\\x86x<{\\xd7\\x0bG\\xaf\\x17\\xa1bkkv+\\x91,l\\x14\\x06\\x01w\\x0c\\xfbs\\xe9\\x8e=sNQM\\x98\\xc6s]\\x99\\xd5\\xc4\\xa2(B\\xe7\\xef\\x00\\xcd\\xc7S^\\x846\\xb9\\xe7KV9X\\xf1\\xcdj\\x89v+^\\x90\\xd2\\xeeGVf\\x19<\\xf45\\x84\\xdd\\xdf\\xba\\xcd\\xa9\\xe8\\xbd\\xe45\\t#\\x90?\\nJ\\xfdA\\xdb\\xa1j\\x05\\xf9rkD\\xf42\\x96\\xf6,\\xaf\\xc9\\x03\\x9cd\\x9e\\x01\\xaa\\xbe\\x8c\\xca\\xd7h\\xb7\\xa5 \\x02I1\\xc9\\xf9A?\\xadtP\\xeb#\\x97\\x14\\xefh\\x9a\\x11\\xe5\\x98c\\xa9\\xe9]7\\xbe\\x87\\x9b/u\\\\\\xd4\\x8a\\xee;TU1\\xcc\\x01\\xee\\x175\\xacq\\n\\x16\\x8f+<\\xc9\\xe1\\xa7Z\\xf2\\xe7\\x8f\\xdeni\\xec\\xa4\\xabd\\xe1\\xb9\\x19\\x18\\xfd+\\xb9M=O\\x9f\\xaf\\x16\\xae\\xbb\\x1dM\\x91!UW\\x9f\\\\Rr>~\\xaa\\xd4\\xeb4\\x17\\xda\\xeb\\x9a\\xe5\\x9b\\xb9\\xf3\\xd8\\xb5t\\\\\\xf8\\x8b\\xf0\\xd9> \\xe8\\x91\\xdeY\\xc6\\xad\\xad\\xdaFD@\\xb6\\xd12\\x1e\\xa9\\xf5\\x1d\\xb3\\xc7Q\\xf4\\xf0\\xb1T\\xee\\xee{\\x1c3\\x9f<\\xae\\xa4\\xb0\\xf5\\x9f\\xee\\xe4\\xfe\\xe7\\xdf\\xfc\\xcf\\x9dum.\\xe3M&\\xd2h\\xe4\\x81\\xd3\\xe4h\\xe5]\\xac\\x84u\\x04v5\\xe7^\\xda\\x1f\\xb4\\xd1\\xad\\x1a\\xbf\\xbc\\x8bM>\\xab\\xa9\\xcf]\\xe9\\x84!f\\x00\\xfaq\\xd6\\x9d\\xcfB\\x15Sz\\x18\\xd3Y\\xb6\\xe2\\x02\\xe3\\xebRvFj\\xc5VR\\x87\\x07\\x8a\\rV\\xa3K`S\\x18\\xa2B\\r\\x02\\xb2.A;\\x0c\\x0e\\xfd\\xbd\\xe9\\x98J=\\xcd8\\xaf\\x05\\xb8\\xc0\\xe5\\xbb\\xb1\\xfe\\x95\\x12G$\\xa9\\xf3\\x9bz\\'\\x8a\\xaet\\x8b\\x84\\x9e\\xd6\\xe2Ki\\xd7\\xee\\xc9\\x13\\x94e\\xfa\\x11\\xcdpW\\xc3\\xd3\\xc4E\\xc2\\xacS]\\x9e\\xa7\\x85\\x8d\\xca\\xa9\\xe2\\xd3\\x8c\\xd2i\\xf4j\\xe8\\xef4O\\x8f\\xda\\xfe\\x93 [\\xab\\xb6\\xd5\\xec\\xdb\\x89-\\xaf\\\\\\xbeG\\xb3\\x1c\\x90\\x7fOj\\xf8\\xecw\\x07ex\\xc5xC\\xd9\\xcf\\xa4\\xa3\\xa7\\xde\\xb6g\\xc7bx+\\t\\x88W\\x84U9tq\\xd3\\xef[3\\xa7\\x8f\\xe2\\x17\\x87\\xbcR\\xa5\\xed\"\\xb9\\xb5\\x9b\\xa1\\x87\\x1b\\xb0Ol\\n\\xf0\\xe3\\xc2\\xd9\\x86\\x1b\\xdd\\x85u(\\xfd\\xc7\\x81,\\x8f1\\xcb\\xdf-V\\xa4\\xbb\\x9c\\xf6\\xbf\\xfd\\x9fq\\x12<\\xa29a\\x9b%<\\xe0\\x02\\xbe88\\'\\xae:\\x1fJ\\xfal\\x06\\x0b\\x17J\\xf0Uu[\\xeb\\xb1\\xeba#\\x8a\\xa7&\\xa1t\\xd7n\\x97\\xf4\\xees\\xcb\\xe0W\\xd6cYl\\xbc9$\\xd0\\xc87$\\xabo\\xb5\\x08\\xf6a\\x80k\\xebi`\\xf1\\xed\\'{\\x9e\\xdb\\xcc\\xe7\\x84|\\xb5\\xf1*-tr\\xbb\\xfb\\xb5e\\xcbO\\x82z\\xd4\\xa5\\x7f\\xe2[cf\\x87\\x9c\\xce\\xea\\xdf\\xcbq\\xafN\\x9e\\x0b\\x15\\xf6\\x9f\\xe3\\xfeG<\\xf8\\xa7\\x05\\x1f\\x8e\\xb4\\xa4\\xfc\\x93\\xfdlt\\x16\\x1f\\x05o\\xe1\\x00\\xcd\\xacEhq\\x9cZ\\xc0O\\xeaJ\\xff\\x00*\\xee\\x86\\x1a\\xacw\\xa8\\xcf.\\xaf\\x16a\\xbf\\xe5\\xdd\\x07/\\xf1K\\xfe\\x034\\xa4\\xf0\\x15\\xce\\x9fj\\xe2\\xdb\\xc4:\\x9c\\x93\\xa8\\xc2\\xaf\\x9b\\xb1=\\xf2>\\x95\\xd4\\xa9\\xd4z:\\xb2\\xfb\\xce(\\xe7\\xf0\\xad5\\xcf\\x86\\x82^\\x97g\\x19\\xe6\\xef\\xb9Y\\'\\x92IR%}\\xcc0\\x18\\x81\\xd0\\x92\\x07>\\x9f\\xa5e\\x16\\xd3\\xf7\\x9bg\\xd14\\xdcZ\\x82I\\xbb~>F\\r\\xdd\\xc6\\xf7\\x12\\x92Y\\x9b\\x92\\x08\\xff\\x00>\\x94\\xaf\\xd4\\xf6)R\\xb2q}\\x0c\\xf9v\\x9d\\xccN\\xcf\\x97##99\\xff\\x00\\xf5\\xd2\\xe6=\\x08E\\xa4\\x92\\xd4\\xa2\\xeb\\xbf\\xe6\\x1c\\x8e\\xf4\\xeevG\\xdd\\xd0\\x8a\\xdd\\xde9\\x81C\\xb5\\x87 \\x8a\\xa4\\xed\\xb1\\xb4\\xe3\\x19F\\xcfSUc\\x9eU\\xde%\\xc2I\\xf7\\xd7\\x1c\\x83\\xdf\\x15\\x16q\\x97:n\\xcf\\xa7\\xf9\\x1c-\\xc1.G\\x1dV\\xcf\\xfc\\xceVk\\x1b\\x9b;;\\xabS\\x1b<K6L\\xaa\\x0e:c\\xf5\\xc8\\xff\\x00&\\xb8\\x9ce\\x04\\xe1\\xe6{\\xb0\\xabN\\xac\\xe3U;6\\xb61\\xa4\\xd3\\x99\\xa4\\x8fnHw\\n\\x0f\\xf3\\xac%\\x1b\\x1d\\xde\\xd6\\xd7\\xb8\\x9a\\x94\\xa2\\xd6\\xfax\\xa0*\\xd1\\xa3\\x15\\x0c3\\x86\\xc7z\\x96\\xf5\\xd0)G\\x9e\\nR\\xdc\\xe8\\xde3\\x10Bv\\x8d\\xddpz\\x1a\\xecN\\xc8\\xe3\\xdck\\xa9#\\x1b\\xb0\\x0fu \\xd3o\\x99Y0\\xd9\\xdd\\xa2\\xb4\\xdbP\\xaa\\x88\\xddG\\xae85\\r\\xa5\\xa2F\\x8a\\xefV\\xc5\\x8c\\xf2=\\xe9\\xa0e\\xb8\\xcf\\x18\\xad\\x0c\\x9a%\\x92@B\\xa8\\xfcM&\\xd6\\xc4%\\xd4\\xd5\\x89L6\\xe8\\x8d\\x85\\xda\\xbb\\x8f\\xe3\\xcf\\xf2\"\\xbb\\xa3\\xeeA&y\\xb3\\xb4\\xe6\\xda&\\x82U\\xf3W\\xe7\\\\\\x8ep\\x18T\\xc6\\xac\\x1b\\xd2I\\x98\\xd4\\xa7.V\\xb9Y\\xb3i;LX\\xec(\\x83\\xee\\x96\\xea\\x7f\\n\\xee\\x85G+\\xddY\\x1e%jQ\\x82J\\xf7}|\\x8dH\\xae<\\xa7\\x8f#\\xbfRz\\n\\xb9J\\xcd\\x1eT\\xa9\\xf3)#r\\xd2\\xfc@\\xca[\\x01:\\x96\\'\\x14\\xaaTp\\xd5#\\xc6xuV\\xea\\xfa\\xff\\x00_\\xd7\\xeat\\xbaU\\xf5\\xe5\\xd4\\xb0\\xb4{-\\xedG\\xf7\\x88,\\xc2\\xb99\\xaa\\xcd\\xa9l\\x8f\\x1f\\x17G\\rF\\x0e-\\xb9O\\xeeH\\xf4M#T0\\xec;\\x80\\xe7\\x8eiN)\\x9f\\x15V\\x93N\\xe8w\\x8c|\\x1f\\xa1\\xfcC\\xb4_\\xb6\\x03i\\xa8\\xa8\\n\\xb7\\x90(,G\\xa3\\x03\\xf7\\x80\\xfc\\xfd\\xeb\\xcb\\xa9B\\xfb\\x1e\\xb6W\\x9fb\\xb2\\xa7h\\xfb\\xd0\\xfeW\\xfav\\xfe\\xb4<\\xb3U\\xfd\\x9a5gG};W\\xb2\\xbbP8I\\x95\\xa2-\\xf4\\xfb\\xc3?S\\\\R\\xa5(\\x9fu\\x87\\xe3\\xdc\\x1a\\x92X\\x8aR\\x8f\\x9a\\xb3_\\xa3\\xfc\\x0f,\\xf1O\\xc3\\xcdw\\xc1\\xaf\\x8d_N\\x9e\\xc5\\x18\\xfc\\xb2\\x95\\xccm\\xf4q\\x95?\\x81\\xac\\xd5\\xd6\\xe7\\xe88\\x0c\\xe7\\x03\\x99\\xc6\\xf8J\\xaa^]~i\\xeb\\xf8\\x1c\\x95\\xdd\\xaa\\xafU\\xe3\\xd4\\xf1Z\\xe8{\\xf0\\x9d\\xcc\\xe9mI<&}\\xfbPt)\\x0f]%\\x82\\xe4\\x9c{\\x9e\\xff\\x00J\\xd3\\x97\\xa8\\xbd\\xaa\\x11`1\\x92\\x83\\x1b\\xcf\\xe7J\\xdd\\x01\\xc9=FH^\\'\\xda\\xe3\\x04v\\xac\\xdd\\xfa\\x82\\xb3\\xd5\\x07\\x9c\\xc0{\\xd2\\xb2\\x0b\\x0ck\\x87\\x1cn?\\x9d+\\x15\\xc8\\x8d\\x1f\\x0f\\xeb\\xd7Z.\\xa3\\x1d\\xd5\\xb4\\xef\\x0c\\x8aG*z\\xf3\\x9c\\x10x=;\\xd7>\"\\x841\\x14\\xdd:\\x8a\\xe9\\x9cx\\xbc%<U\\'J\\xacn\\x8f\\xa7tK\\x7f\\x0b|K\\x8a\\xde\\xf9\\x11&\\x82\\x18\\x0cO\\xa7\\x06\\xd8a-\\xb4\\xe3\\x03\\x04r\\x0e\\x18p@\\xef\\xdb\\xf2lEl\\xc3\\'\\xe6\\xa3{6\\xef\\xcf\\xbd\\xed~\\xf7\\xfb\\x9fS\\xf0\\x9ceL\\xcf\"r\\xa0\\xdd\\xa5\\'u=\\xefk\\xf7\\xbf\\x96\\x8fS\\x7f\\xc2\\x16cN\\xd2\\xaf\\xb4\\xf4\\x8f\\xc8\\x8a\\xc6\\xf2Xb\\x8c\\x9c\\xedC\\x89\\x14s\\xff\\x00]+\\xf6\\xac\\x87\\x1b,fYJ\\xac\\xa5wk7\\xdd\\xad\\xff\\x00\\x13\\xe7\\xf3j\\xaf\\x11V\\x96&N\\xeeqM\\xbe\\xed]?\\xc8\\xd9e\\n\\xa3>\\xc7\\x18\\xafq\\xcc\\xf1n\\xdb\\xd0\\xa5u8\\x11\\x9ex\\x07\\x91Y\\xf3juB.\\xe7)\\xe2O\\x10\\xdaiv\\xb2\\xa4\\x8e\\xff\\x00h\\x966\\xf2\\xd6%\\xdc\\xc3\\x8f\\xbd\\xec3\\xde\\x94\\xaar\\x9fC\\x80\\xc0\\xd5\\xc4\\xcd8\\xa5\\xca\\x9a\\xbd\\xdd\\x97\\xa1\\xe5r8].\\xed\\xc3\\xe1R%\\x8f\\x91\\xd4\\xb3g\\x1e\\xdc\\x02\\x7f\\n\\xe7R\\xf7[?F\\x84\\x1b\\xaf\\x08\\xb5\\xbbo\\xee9\\xe2vM\\x80\\xdd\\x07#\\x1d\\xff\\x00\\xcek>mO\\x7f\\x96\\xf1\\xbbC&\\xcap\\xc3 \\xf5\\x06\\xad\\xb6i\\x04\\x9e\\xa8\\xa5$Y9^=\\x85+\\xd9\\x9d\\x91v\\xdc\\x81T\\x87\\xff\\x00\\n\\xbecW\\xaa4l\\x9d\\xd1\\x82\\x93\\xc6y\\x06\\x9d\\xceZ\\x91M\\\\\\xb9#\\xa9v\\xf3K\\x08\\x11\\x0c\\x8c\\x14s \\x1cc\\xfe\\xfa*?:\\x89\\xcbC\\x8e1\\x7faj\\xdd\\xbd/\\xff\\x00\\x02\\xec\\xe1d\\xd4\\xda=\\t\\xed\\x84Q\\x8f*\\xecH$\\xe7s\\x92\\xa4`\\x9c\\xe3\\x03h\\xed\\xdcW\\x9fv}G\\xb1\\xbe!T\\xbb\\xd66\\xb7M\\xfe\\xfb\\xbb\\x982\\xbbM#;\\x9c\\xbb\\x12\\xc4\\x9e\\xe4\\xd6Os\\xd0IEY\\x1d4\\x97i9H\\x93qA\\xce\\x18\\xf3\\x9f\\xfe\\xb7O\\xce\\xba\\x93W8T\\x1cub\\xa8\\x00`\\x0cc\\xa8\\xadV\\x82~c.\\xdb\\x0c\\xaa{\\n\\x99=B(\\x8d\\x11d`\\x18dT\\xe8\\xde\\xa5]\\xad\\x8bQ\\xb0B@\\x00\\x01\\xd0V\\x8bM\\x89j\\xe4\\xd6annQ\\x1b\\x95\\'\\x9czw\\xaa\\x82R\\x92FU\\x1f$[F\\xa3\\xc9\\xe6\\xb9v\\xe4\\x93\\x9cv\\xae\\xa9ZoS\\xcfI\\xc5h:\\x08cV\\xdc\\xa83\\xebR\\x94c\\xb23\\xa99IY\\xb3\\xa0\\x81\\x81E\\xfa\\n\\xeeN\\xe7\\xcf\\xd4\\x8e\\xae\\xc5\\xa9d\\xf9\\x10g\\xa1\\xe2\\xa6r\\xd0\\xe5\\x8c[m\\x9a\\x96\\x93$\\xc8\\x8c\\xc01^\\xc4g\\x06\\xb7MI&\\xcf\\x1a\\xb4%NN)\\xeet:^\\xa4\\xcb+\\xe0\\xe7\\x04`g\\xda\\x93\\xd6\\xf6<J\\xf4\\x13J\\xe7Scx]\\xe3\\x96\\\\+(\\xf9\\x11r@\\xf7\\xcfs\\\\\\xee.\\xf7g\\x85Z\\x9aI\\xc6\\x1bw7\\xad\\xb5R\\n\\x9e\\xfd\\xea\\\\O\"t\\r\\xfd;W\\xe0e\\x8es\\xeb\\\\\\xb3\\xa7s\\xc9\\xad@\\xe2\\xbe;\\xfce\\x9b\\xc2\\xba<Z&\\x96\\xc8\\xfa\\x9e\\xa2\\x87qu\\x0e\"\\x87\\xa1;H\\xc6I\\xe0g\\xa6\\t\\xf4\\xaf>\\xaaT\\xf5\\xeb\\xd0\\xfbN\\r\\xe1xc\\xf1\\x0f\\x1f\\x89\\xba\\xa7M\\xe9\\xd2\\xf2\\xff\\x00$|\\xdbih\\xb1\\xc7\\xfe\\x90\\xe5\\xd8\\xf4P\\x07\\xca~\\xbdk\\x96\\x1eg\\xef\\xb3\\x9bo\\xdcC\\xc5\\x8f\\x98\\xdf\\xb9 \\xe3\\x9d\\x81~c\\xf4\\xeb\\xcdi\\xaa#\\xdaY{\\xc0-P\\x80\\xd8\\'>\\xa2\\xad0\\xe7ek\\xcd=\\'\\x18\\xc6\\x0f\\xae1D\\x9af\\x90\\xa8\\xe2gKl\\xf1\\x8d\\xb2\\x0f0vc\\xd6\\xb3r\\xb6\\xe7R\\x92z\\xa2\\x94\\xf0/c\\x8fcJ\\xe9\\x9b\\xc5\\xb2\\x9c\\xb12\\xf2i\\x9a\\xa7q\\x15\\xb0jX\\xce\\xe7\\xe1\\x97\\x8c\\xd7\\xc2\\x1a\\xfa]\\xca\\xd3ym\\x19\\x8f\\x110\\xc6\\xe3\\xd0\\xb0=@<\\xe3\\x8ep{`\\xf8y\\xa6\\x07\\xeb\\xf4=\\x96\\x9b\\xf5\\xfe\\xb4>_=\\xcb?\\xb4\\xf0\\xbe\\xca6\\xbaw\\xd7\\xb7[>\\x97\\xfc\\xb4\\xf3>\\x8a\\xf8\\x7f\\xa8K\\xacxb\\xfe\\xfd\\xe4\\x0e\\xf7\\x97\\xb2\\xcf\\xc3e\\x82\\x90\\xa1A\\x1d\\x88\\n\\x06=\\xab\\xde\\xca)\\xd3\\xc3`\\xa3B\\x9f\\xd8\\xd1\\xfa\\xf5\\xfb\\xfb\\x9f\\x86\\xe7\\xb4\\xa1\\x86\\xc6R\\xc3\\xc5YB)|\\xee\\xdb\\xb7}^\\xe7L\\xc7\\xcc\\x8c0\\xe8G\\xd6\\xbd\\x9ec\\xe6\\xd6\\x8e\\xc6t\\xe8\\x1b\\x81\\x9f|\\x9aNV; \\xed\\xa9\\xe5\\x9f\\x11%\\xf35V\\x81\\x19\\x82\\xacaX\\x00FH$\\x80}q\\x93\\xf9\\xd75i\\xdf\\xddG\\xe8\\xd9\\x0cy(\\xaa\\x92[\\xbf\\xeb\\xd0\\xe4\\xee\\xd0G\\xa6\\xc43\\xb5Z]\\xa1}p~\\xf7\\xbf\\x7f\\xfb\\xea\\xa6\\xf6\\x8d\\xbc\\xcf\\xa8\\xa2\\xdc\\xab\\xc9\\xf5K\\xfa_\\x97\\xdcs\\xac\\xe6Y\\x8e;\\x9e{\\x01\\xcde\\x19j}\\x12\\x82\\x8c5\\x16K\\x97\\x11\\x96`\\x19G\\x04g\\xf5\\xae\\x8eg\\xd4\\x98\\xd2\\x8d\\xec\\xb4 7h\\xf8\\x1b?!G5\\xcd\\xbd\\x93]FD\\x15\\x9f\\xa7zeJ\\xe9\\x16\\xee\\x1dt\\xfbh\\xe6\\x91N\\xc6p\\x99\\xfdO\\xe9M\\xbb+\\xb3\\x9e7\\xab7N;\\xda\\xe6v\\xa7\\xaf$\\xd6\\xd7;\\xd5\\x91\\xca\\x01\\x1a)\\xc6rA\\\\\\xf3\\xd0\\x11\\x9f\\xc6\\xb3\\x9c\\xee\\x8e\\xaa\\x18G\\t\\xc7\\x95\\xddu\\xfd~\\xfb\\xd8\\xe5/\\xae\\x15\\xad\\xa0\\xb7\\x8c\\x82\\x8a7\\xb9\\xc7W=\\x7fL\\x0f\\xc2\\xb9On\\x10|\\xf2\\x9c\\xb7\\xfd\\x02\\xce\\xc6\\xd6H\\x03\\xddM\\xe4\\xb3r\\xa3\\xd5zg\\xf3\\xcd+.\\xa4N\\xa4\\xd4\\xad\\x05sN\\xdfS{I|\\xa8\\xe3\\x89\\xb0\\x02\\xe7\\x9e\\x7f\\x95k\\xcc\\xd6\\x88\\x97MIs2yCy\\x83\\xe5\\n\\x18\\x06\\xca\\xb6G\\xbdW\\xbc\\xf6d+[R\\x8c\\xee^FcI\\xbdF\\x85\\x80\\xe5\\x8f4\\xe2\\x03\\xe5`\\xcawt\\xa7+5\\xa8\\xd6\\x9b\\x16\\xb4m\\x88&\\x952\\x18.\\xd09\\xe8z\\xd5P\\x8cSr\\x8a\\xb1\\x8e!\\xc9\\xa5\\x19\\x1a>r\\xc6\\xbb\\x99\\xb0+\\xaaSQWg\\x1f#z\"\\xc5\\xa5\\xc2\\xc8\\xc3\\xe5uPFw\\x0cQ\\t\\xf3n\\xacaR\\x0e=M\\xe8$\\xf9G\\xa5v\\xa9\\\\\\xf1jGR\\xcc\\x8d\\xf2z\\xf3\\xde\\xa6n\\xe8\\xe3\\x8cm\"[[\\xf8\\xed\\xbeW\\xc9f<*\\xf2MLk*k\\x95\\xea\\xdfc\\x1a\\xb8I\\xd7|\\xd1\\xd1.\\xafcz\\xc6\\xe9c\\xbb\\x03\\xa8u\\x1d}kv\\xed/S\\xe7\\xabRn\\x17\\xect\\xb6\\xd7\\x1bO\\x074\\xcf\\x06\\xa4.jCx\\xcb\\x80x&\\xa1\\x9c2\\xa4\\xb74n5\\xc8\\xf4;I\\xee\\xaf\\\\\\xdb\\xc5n\\x85\\xe4\\xdc0@\\x15\\x86\\x8f}\\x8c)\\xe0*\\xe2\\xabF\\x858\\xeb\\'\\xa1\\xf3v\\xb3\\xaf\\xdcx\\xa7Y\\xbe\\xd6\\xee\\xf8\\x96\\xed\\xbfv\\x84\\xff\\x00\\xab\\x8cp\\xaa?\\x0c\\x7f\\x93_?V\\xa7\\xb6\\xa8\\xda\\xd8\\xfd\\xfb\\x05\\x82\\x86_B\\x18:_\\x0c\\x17\\xde\\xfa\\xb3;\\xed\\r\\x9e\\xa6\\xb4J\\xc7\\xa3\\xcav_\\t\\xb5\\xd94\\xaf\\x88\\xde\\x1c\\x9e%.\\xff\\x00m\\x8e2\\x00\\xe7k\\x9d\\x8d\\xfa1\\xa4\\xd72\\xb1\\xf3\\x1cK\\x85\\x8e\\'\\'\\xc5S\\x93\\xb2\\xe4o\\xe6\\xb5_\\x8a>\\xbd\\xf1\\x0f\\x83\\xbc-\\xe3\\x08\\x8a\\xea\\xba=\\xb4\\xb2\\xf6\\x9e5\\xf2\\xa5\\xcf\\xfb\\xeb\\x82~\\x84\\xe2\\xb1\\xe4\\x94vg\\xf3\\x0e\\x037\\xcdr\\xb7\\xfe\\xcb]\\xa5\\xd9\\xea\\xbe\\xe7ty\\xee\\xab\\xfb5\\xf8^r\\xcfk\\xa8jV\\xa4\\xf2\\x13zH\\xa0~+\\x9f\\xd6\\xadE\\xbd\\xcf\\xb6\\xc3\\xf1\\xfei\\r*\\xd2\\x84\\xbeM?\\xce\\xdf\\x81\\xcb\\xea?\\xb3%\\xaeI\\x83\\xc4\\x12(\\xfe\\xec\\xb6\\xa1\\x8f\\xe6\\x1c\\x7f*\\xd7\\xd8]n{\\xf4<B\\xa9\\xff\\x00/0\\xdft\\xbf\\xfbS\\x82\\xf1\\xaf\\xc0\\x9dG\\xc3\\x96\\ry\\x1d\\xe5\\xbd\\xfc\\x08p\\xd8R\\x8c3\\xc08\\xe4u\\xe3\\xaf\\xa5EZn\\x8cT\\x9e\\xa8\\xfb\\x0c\\xaf\\x8cp\\xd8\\xfa\\x9e\\xcaT\\xdc\\x1f\\xc9\\xaf\\xeb\\xe4y\\x9c\\xfa\\x04\\xf0\\xe7(\\xc9\\xea1\\xc5b\\x9fc\\xef\\xa1\\x8a\\xa75\\xa3\\xb9\\x99qjb$2\\xe0\\xfa\\x8a\\xa6vFW\\xd4\\x85\\tF\\x07\\xd0\\xe6\\xa0\\xa6\\xb9\\x8fZ\\xf0\\xf6\\xb1\\xe2\\x18\\xda\\xda\\xff\\x00G\\x82\\xf1\\xe1\\x94\\x95G\\x82\\x16d\\x90\\x8e\\xaax\\xc1\\xc7\\xa1\\xaexa\\xe5M\\xb9\\xd2m6~q\\x8d\\xc0\\xe5\\xf6\\x9d\\x1cMH\\xa6\\xb5i\\xb5u\\xfa\\x9e\\xa7\\xe1\\xff\\x00\\x1f\\xbb\\xba\\xd8\\xeb\\x962\\xe8\\xd7\\xb2\\x10#iQ\\x96)O\\xb1=\\x0f\\xb7\\xeb\\xda\\xbdjud\\xad\\x1a\\x8a\\xcf\\xf0?<\\xc7\\xe4\\x91Q\\xf6\\xf8\\t\\xaa\\x91[\\xa4\\xd3h\\xdd]J9%*A\\\\\\x93\\xb4\\x91\\xc3WB\\xa8\\x9e\\x87\\x80\\xe8\\xca\\xd7G\\x07\\xf1Fh\\xd9\\xed\\xdb!dD\\xea{\\x8c\\xf1\\xfdk\\x9e\\xac\\xac\\x91\\xf6\\xfc7\\t{\\xcbt\\xd9\\xe7:\\xb3\\xbb-\\x8d\\xbe\\n\\xf9q\\x83\\xc9\\xee\\xdc\\x83\\xf9\\x11\\xf8\\n\\x1b\\xba\\x8a?A\\xc2\\xc6)\\xd4\\xab\\xdd\\xfeZ\\x18\\xce\\xbb\\xb7\\x13\\x95\\x85\\x0eI\\xf7\\xcf\\x02\\x88\\xf7\\xe8z\\xc9\\xdbN\\xac\\xa2$m\\xc7<o\\x19\\xc58\\xb3\\xaa\\xca\\xde\\x82\\xa9\\xdaH\\x07\\x8a\\xd1;\\n\\xd744\\xd8\\x12k\\x98\\x92G\\x11\\xa1`\\x19\\xcf\\x01G\\xe3[Es;\\x1cX\\x89\\xb8A\\xca*\\xed\"\\x97\\x8c|D\\x9a\\xc6\\xa2\\x96\\xd6\\xee\\x06\\x9d\\x01\\xca*`.H\\x00\\x91\\xdc\\xf0\\x00\\xc9\\xeb\\x82{\\xd6uf\\xaaJ\\xcbDm\\x96\\xe0\\xe5\\x85\\xa3\\xcfSZ\\x92\\xdd\\xbd\\xf7g#yvf\\x99\\xdf\\xd4\\xf0=\\x07\\xa5r\\xc9\\xf3;\\xb3\\xe8)\\xc1B*(\\xa8\\x0e\\xf7\\x038\\xc9\\xc5M\\xcba\\xa9]\\t.\\x8a\\xa7\\xfa\\xb8\\xc0\\x8dG\\xb0\\xff\\x00\\xeb\\xe4\\xfe52\\x92\\xb8\\xa9A\\xa8\\xdd\\xee\\xce\\xa6\\xc2\\x192\\x97eL\\xc5\\xc8`\\xf9\\x00\\x91\\xcex\\xed\\xd7\\x9a\\xa99\\'s\\x86sK\\xdcE\\x9b\\xcf*t3\\xc4\\x8c\\x8b\\xb0\\xe3\\x81\\xb7\\xaf\\x7fN\\xbf\\x8dk\\x19\\xe9c8\\xdd;3\\x12E \\xfbR\\xb9\\xb8\\xb0\\x8cn\\xedN,\\x18\\xc6n\\x18{\\xd2l\\xab\\x1b\\x96\\x8a \\xb3\\x8d\\x1b\\x92\\xc3y\\xfcz~\\x98\\xae\\xc8{\\xb1\\xb1\\xc3?zn\\xc2\\xc7&\\xd2G\\xa1\\xa7re\\x14\\xcb) \\x07\\x93\\x9a\\x1b0\\x92\\xecl\\xda\\x12\\xeb\\x1a\\xaeY\\x88\\x00\\x01\\xcdn\\xb6<\\xfa\\x89]\\xb6Y\\xbc\\x9e\\x1b%\\xdbuq\\x15\\xbb\\xe7\\xfd[\\x12\\xcf\\x9fB\\xaa\\t\\x1f\\x88\\x152\\xa9\\x08\\xee\\xcc)\\xd0\\xa9Q\\xde1\\xb9Hx\\x86\\xd69\\x03Am<\\xc7\\xbc\\x922\\xc5\\x8fla\\xb3\\xf9\\x8f\\xa5s\\xfdaE\\xde(\\xeax\\x078\\xf2\\xd4\\x97\\xeaO\\xff\\x00\\tt\\xd9$Z\\xd9D\\x07Gc#0\\xff\\x00\\xc7\\xb0\\x7f*\\x99b\\xa6\\xf5\\xd0\\xc7\\xfb*\\x82Vw\\x7f\\xd7\\xa1\\xd1x;V\\xd5|E\\xa9-\\xbd\\xbd\\xd5\\x9b(l4\\x12l\\x88\\xba\\xfa\\xab6\\t9\\xc7\\x00\\xfe\\x95\\xa5\\x1a\\xb5jMk\\xa1\\xe2\\xe69~\\x0f\\x0fA\\xb7\\x06\\x9fG~\\xbef\\x87\\x8c\\xfcQy\\xe1{\\x97\\xd3-dXo\\xc2\\xfe\\xfeX\\x983C\\x9e\\x8a\\xac2\\x03c\\x92GL\\x81\\x9c\\xe4\\x05\\x8b\\xc48\\xbfg\\x1f\\x99\\xc3\\x94eP\\x9a\\xfa\\xcdUu\\xd1~\\xa7\\x05\\xe2\\xbf\\x114\\xfa\\x1d\\x87\\x87m\\x1bj\\x05\\x17\\x17\\xb2\\x0e\\xe5\\x8e\\xe5S\\xf9\\xe7\\xf2\\xf4\\xaez\\x959(\\xc6\\x94wz\\xbf\\xeb\\xfa\\xe8}N[\\x80\\xe5\\xc5U\\xcc+-_\\xbb\\x15\\xe4\\xb4\\xbf\\xcf\\xfa\\xdc\\xc0\\x9a\\xe4`(\\xfb\\xa0`\\n\\xe4\\x8cl}\\x04am\\xce\\x83\\xc0\\xfe\\x05\\xbd\\xf1\\xa5\\xf0\\x036\\xdaz7\\xef\\xae\\x88\\xe0{/\\xabWM:n~\\x87\\x83\\x9c\\xe7T2\\x8aW~\\xf5G\\xb4\\x7fW\\xd9\\x1fCxW\\xc1\\xde\\x1e\\xf0\\xa4\\xb0Ma\\xa7F\\xb7Q\\x82\\x05\\xcc\\xa4\\xbc\\xa3<\\x13\\x93\\xd3#\\xd3\\x15\\xda\\xa9El~\\x17\\x99f\\xf9\\x8eg\\x19C\\x11U\\xf2\\xbf\\xb2\\xb4_w_\\x99\\xda\\xa6\\xaa\\xf9\\r\\xd4T\\xb8&|\\x9b\\xc3\\xa5\\xa13k,\\x07\\xde \\x0ez\\xd4\\xaah\\x8f\\xab\\xeaQ\\xb8\\xd6\\x879j\\xd5S:a\\x858\\xef\\x88\\xda\\xeaA\\xe0\\xdd@\\xb6q!\\x8d\\x07\\xaew\\x83\\xfd+\\x1cW\\xbbFG\\xd3\\xe4x9\\xd4\\xc7\\xc1G\\xa5\\xdf\\xe0x\\xb6\\xa9u\\x0e\\xa7\\xa6\\xb1FU\\x9e1\\xb9}\\xc7q_1\\x19N\\x9c\\xf5\\xd9\\x9f\\xa9`\\xa3W\\x07\\x88JI\\xf2\\xbd\\x1f\\xf9\\x9ey}\\xbavf\\x19 \\x0c\\xf08\\x15\\xe9\\x1f\\xa1F\\xd1V)\\xc5\\x1f\\x98\\xea\\xbc\\xeeb\\x00\\x00u\\xa4j\\xe4\\xa2\\xae}1\\xf0nX\\xe1\\xf0\\x0e\\x97\\x14N\\x03\\xe2R\\xc0\\x1erez\\xf4h\\xcb\\xdcH\\xfe\\x7f\\xe2\\x98\\xcay\\xadiIi\\xee\\xff\\x00\\xe9(\\xe85]B\\xca\\xe4y2\\xb43)m\\x92E&\\x18c\\xd0\\x83U.Yh\\xcf\\x0f\\x0fJ\\xb57\\xcf\\x0b\\xa7\\xbah\\xc4\\x91\\x05\\xad\\xc11\\x966\\xf1mU\\xf9\\xb7m\\xef\\x8c\\x9f\\xadf\\xd7+\\xb9\\xe9\\xf3:\\x91\\xf7\\xbe\\'\\xf2\\xf28\\x8f\\x1dj0\\\\j7\\x1f4\\x93\\xc8\\xe4\\x00J\\xe0 \\x03\\x85\\x1e\\xbdy\\xac+5s\\xee\\xb2L5HQ\\x83\\xb2\\x8a_\\x8f\\x9b9\\x8dbC%\\xe5\\xd4\\xe3\\xe5\\xf2Y`\\x03\\x1d\\xc0\\xc0\\xfc~Z\\x1d\\xdbo\\xb6\\x87\\xd3a\"\\xa3N\\x10\\x7fj\\xef\\xefw\\xfdL\\x9b\\xc9\\x846\\xf0\\xdb\\x8d\\xa5\\x86I\\xff\\x00|\\xfa\\xfd8\\x1f\\x85k\\xf0\\xa5\\x13\\xd2\\xa5\\x1eiJ\\xa7\\xf5e\\xfd\\\\\\xcfr\\x0e\\x08$\\xa8$~5\\'e\\xba\\x0f\\x87\\xe7\\xdc\\x0f\\xe1Z)\\nJ\\xdb\\x0c\\xf1\\x14\\x86\\x1d-#\\\\\\xfc\\xf2\\x83\\x9cz+\\x7f\\x8d\\\\\\xdd\\xa1e\\xd5\\xff\\x00\\x99\\x18x\\xa9W\\xe6}\\x13\\xfc\\xd1\\xcd;\\x04^\\x0e\\xee?*\\xe6=t\\xae\\xf5\\x1f\\xa9h\\xf2\\xe9\\xd66\\xf7\\x17\\x0e\\xa9%\\xc7\\xcc\\x90\\x8eX\\'\\xf7\\x8f\\xa7o\\xfe\\xb5).]\\xcc\\xa9W\\x8dj\\x92\\x84\\x16\\x8b\\xaf\\x9fdQ\\x02(!I\\x8b\\xb3I\\x9c\\x85\\x00\\x00=9\\xff\\x00\\xebT^\\xda\\x9d\\x0e\\xf2|\\xb6\\xd0\\xd9\\xd2|\\x19\\xfd\\xa3d\\xb3\\xcfz-Y\\x8f\\x11\\xf9L\\xe7\\x1e\\xa4\\x8e\\x9fJ\\xc9\\xdc\\xe0\\xaf\\x98:S\\xe4\\x849\\xbei~c\\xf4\\xadFH4\\x82\\x84y`H\\xc5]G \\xed\\x19\\xf6<WRw\\x8d\\x99\\xac\\xe0\\x9dK\\x97\\xb1%\\xd5\\xbcy\\'\\xccs\\xf7T\\x1ez\\x01\\xfe~\\xb5Z\\x19;E\\xf9\\x14\\xa4@\\x8c\\xcb\\x90\\xd8$dt4\\x99W\\xb8\\xd06\\x8c\\xf6\\xa7\\x11\\x95\\xe68\\xe9\\xd6\\x86i\\x13bgo8\\xa99*\\x02~C\\x1f\\xd2\\xbbN\\x14\\xb4\"\\xf3J\\xc8O\\xbd+\\x95\\xcb\\xa1n\\t\\xc3\\x02\\x08\\xe6\\x83\\x19D\\xd2\\x8c\\x8b\\x88\\n32\\x820J\\x9cU\\xb5\\xcd\\x1b3\\x91\\xde\\x12\\xba\\'\\x8bN\\xb5\\x8e.#\\xc9\\xc6FjcJ\\x08\\xcau\\xaa\\xb7\\xbd\\x8c\\xddB\\xc1P\\x8b\\x88\\xd4\\x94\\x1f}:\\xe3\\xde\\xb1\\xabI-bu\\xd1\\xac\\xdf\\xb97\\xafB(\\x9ddP6\\x82=k\\x98\\xe9z\\x12\\xdb\\xb3\\xda\\xca\\x1d$1\\xfb\\x8a/m\\x8cg\\x18\\xcdZJ\\xe3\\xe7\\xbfe&i\\xb33\\xf0\\x15I\\xfb\\xecz\\x0f\\xf3\\xdb5\\x1b\\xcb\\x9a{\"#I[\\x96\\x1a#*F1\\xef\\x05\\xfc\\xc9]\\x8b\\xc9\\'\\xf7\\x98\\xd4\\xab\\xcd\\xb9\\xc8\\xee\\x82\\xbaZYt]\\x91\\xd8xG\\xe1\\xcd\\xc6\\xac\\xb0_jK%\\xae\\x9f\\'1\\xe4\\x10\\xd3\\x01\\xfd\\xdfoz\\xef\\xa5A\\xcbYl|\\xbeo\\x9e\\xc7\\x03z4\\x174\\xff\\x00\\x05\\xfeo\\xc8\\xf6=3\\xc8\\xd3\\xac\\xe2\\xb5\\xb4\\x8da\\xb7\\x8dv\\xa4k\\xdb\\xfc\\xfa\\xf7\\xae\\xe5\\x1eT~E\\x88u1\\x15%Z\\xb3\\xbc\\x9e\\xec\\xd8\\xb6\\xbc\\xc4\\x7f9\\xc1\\x1d3H\\xf2\\xe7O]\\r\\x08o\\xd9P\\xe3\\x93\\xf5\\xa8q9eI6\\x12j;\\x939\\xc6E4\\xacJ\\xa3ff\\xdej\\x1b\\x11\\xa4y\\x15\\x11y.\\xc7\\x00~5\\xa2\\xb2\\xd5\\x9e\\x85*\\x0eO\\x96*\\xec\\xe1\\xbe$\\xeb0\\xdfx2\\xe1\\xed\\xe6K\\x84Y\\xa3\\xf9\\xe3m\\xca\\x0e}G\\x15\\xc9\\x8a\\x94gJ\\xf1w\\xd4\\xfbN\\x1c\\xc2\\xce\\x8eg\\x18\\xd5\\x8b\\x8b\\xe5{\\x9ew?\\x86\\xae\\x07\\x80\\xee5\\xf9\\xe61)tX!\\x03\\x97\\x05\\xc0,}\\x07\\\\z\\xd7\\x9b\\xecm\\x0fh\\xcf\\xbcY\\x9d/\\xedH\\xe5\\xf4\\xa3wg\\xcc\\xfbi{/\\xd4e\\xcd\\xb4gH\\xb0\\x99TDe\\xb6\\x1b\\xd0\\x0c\\xabrFH>\\xa0\\x03\\xf8\\xd7\\x9d\\x06\\xf9\\xe4\\x9friV\\x9c\\xb1u)7t\\xa5\\xa3\\xea\\xba\\xfe\\x05_\\x87~\\x18>%\\xf1\\x85\\xad\\xa67A\\x012L\\xde\\x88?\\xcf\\xe7\\x8a\\xebK\\x99\\xd8\\xea\\xcf\\xb3\\x05\\x97\\xe0\\'W\\xed=\\x17\\xab>\\x83\\xf1\\x0cv\\xd6\\x96\\xaa\\xb6\\xea\"\\x99\\x89 \\'\\x03\\xdc\\xfe\\xb5\\xd56\\x92\\xd0\\xfc/\\t*\\x95&\\xddGu\\xe6rW3\\xa4\\xdc\\x15\\x11\\xb0\\x188\\xe35\\t\\xdc\\xf7\\xe1\\x17\\x1dor\\x9e\\xa7|\\x9a~\\x9fr\\xc1\\xb6\\x92\\xb8B\\x18\\x83\\x9e\\x9csW\\xcd\\xca\\x9b=\\x1c\\x0e\\x1eX\\x9cD\\x13WI\\xeapS\\xce\\xd2[\\xc5q4\\xa5\\xf7\\xee(7r6\\xf1\\x93\\xf8\\xd7=\\xb4Rg\\xe8p\\x82S\\x958F\\xd6\\xb7\\xe3\\xff\\x00\\x00\\x92\\xe9\\xd2\\xe4X*\\xaa\\xe6w\\x12H\\xa3\\xa8\\xda\\xa5\\x8f\\xfe\\x86\\x7f*\\xec\\xd1\\xf2\\xdb\\xaf\\xf5\\xfa\\x99S\\x8c\\xa9:\\x8eO\\xe1V_6\\x97\\xe8rm+<\\xd2\\xcaG\\x19$\\x1fsX\\'v\\xd9\\xf4J6J(x\\x7f\\xdd\\xc6\\x87\\x8e2~\\xa6\\xaf\\xa0\\xad\\xabe\\x8bd\\xdc\\xe0\\x8c\\xd5Gs9lX\\xd6\\xf4\\xe9.\\xb4\\xd8\\x9a\\x14yfW\\xd8\\x11\\x17$\\xee\\xc0\\xcf\\xe9\\x8f\\xf8\\x15o%\\xcd\\x1d7\\xff\\x003\\x92\\x8dX\\xd3\\xac\\xdc\\xdd\\xa3o\\xcb\\xfa\\xfc\\x0ef\\xea&\\xd1\\xf6\\r\\xb1\\xc9t\\xdc\\x8f\\xe2\\x11\\xff\\x00B\\xdf\\x9e>\\xbd9\\xa5\\xfb\\xbd:\\x9e\\xb4e\\xf5\\x9e\\xea?u\\xff\\x00\\xe0~~\\x9b\\xd5!\\xb5y\\xa5\\x96\\xe2y\\x0c\\x81\\x19\\x9eY\\x18\\xbb;u\\xe7=\\x07O\\x7f\\xadd\\xdb\\x91\\xb6\\x94\\x12\\x8c\\x12\\xb7m\\x92\\x17\\xc3\\x96pH\\xd3\\xde\\\\\\xa7\\x99\\x15\\xb0\\xf9Sv\\xdd\\xce~\\xeeI\\xe8\\x07Z\\xcfr1u&\\xb9i\\xd3vr\\xfc\\xba\\xfc\\xcdT\\xf1\\xc4\\x1a.\\xebk{qr\\x01\\xdc\\xf2n\\xda\\xa5\\xbb\\xed\\x18<Vr\\\\\\xce\\xec\\xe1\\x96_,G\\xbf7o\\xf2\\xf3\\xf324\\xeb\\xa5\\x86\\t\\xed\\xa7g\\xdb\\x8c\\xaf\\'\\xe5q\\x9c`{\\xff\\x00\\x8du\\xc5\\xd94\\xcfN\\xa4[\\x92\\x9cM]\\x1e\\xfb|F\\xdc\\xee\\x04\\x02U\\xc78\\xf5\\x07\\xdb\\xe9\\xd2\\xa9=,s\\xd5\\x85\\x9f0\\x92&\\xd6\\xc1C\\x19#%O\\xf0\\xfbP\\xc4\\x9d\\xc7<%c\\x03\\x15H\\x13L\\xa9\\xf6s4\\xc9\\x188.\\xc1F{Q\\xb9\\xa2\\x95\\x93l\\xd0\\x92R\\xf2\\xbb\\x9e\\xacs]g*VCde\\xc0=\\xfb\\x9cP\\xd9I1bl7\\x14\\\\\\x99#J\\xcen\\xaa~\\xb4\\xd38\\xeaG\\xa9\\xa1\\x1c\\xa7i\\x03\\xd2\\xae\\xe7+A\\x1c\\x84\\xb63\\xc5\\x17Bq\\xb9CS\\xb5[)\"t\\xc0\\x13\\x02\\xdeX=1\\xdf\\xe8y\\xfc\\x8dq\\xd5I=\\x0e\\xea\\x12\\x94\\xe2\\xf9\\xba\\x08\\x92\\x86\\x8b\\x07\\xa9\\x1c\\x13\\xda\\xb1)\\xa7{\\x94\\xae\\x88iQ\\x03\\x12\\xf1\\x9e\\x00\\xee\\xc4u\\xfc\\x06?3R\\xd7Czj\\xc9\\xb7\\xd4\\xb9k\\xa5l\\x0b#\\x10\\xc7\\xd3\\x18\\xc5Ko\\xa1\\x8c\\xeb}\\x94t\\x1a7\\x89\\xf5=\\x07r[]2\\xc6\\xd8\\xdf\\x03\\xe1\\x91\\xbd2\\xa7\\x83Dj\\xce\\x9b\\xf7Y\\xe3\\xe20T1+\\xf7\\x91;}\\'\\xe2-\\x84\\xd0\\x01wc%\\xac\\xfd\\x0c\\x96\\xcf\\xb9\\x0f\\xfc\\x01\\xb9\\x1f]\\xdf\\x85vG\\x19\\x7f\\x8d\\x1f\\x1d\\x8c\\xc8\\x1d\\xefB_y\\xa9a\\xe2\\xdb]V\\xf8\\xd9\\xda\\xb3\\xbc\\x9b7\\x86 \\x8d\\xde\\xc0w\\xff\\x00=k\\xa2\\x15\\xe39r\\xa3\\xc4\\xc4d\\xf5\\xb0\\xb4Ui\\xeb\\xafN\\x9ef\\xf47l\\xcc\\x00#\\x91\\x93\\x8e\\x83\\x8c\\x9a\\xdd\\xd9jxN\\x8b\\x93\\xb2Z\\x9c\\xe7\\x88\\xbe#\\xda\\xd91\\xb7\\xb0Q}q\\x9d\\xbb\\xc1\\xcc@\\xfdG\\xde\\xfc8\\xf7\\xae\\n\\x98\\xa5\\x1d!\\xa9\\xf4X\\x0e\\x1e\\xa9S\\xdf\\xc4\\xbeU\\xdb\\xaf\\xfc\\x03.\\xdbB\\xbc\\xd7Yn\\xbcA;\\xb2uK5m\\xa0{\\x90:~\\x1c\\xfa\\xd5B\\x94\\xaa{\\xd5\\x9f\\xc8\\xef\\xab\\x8f\\xa1\\x81N\\x8e]\\x15~\\xb2\\xff\\x00.\\xff\\x00\\x97c_U\\xd1\\xa2\\xd4<-q\\xa5B\\xa1W\\xc9\\xd9\\x16\\x7f\\xbc\\xbc\\xa9?\\x88\\x15\\xd18^\\x9f\"<\\x8c.2T1\\xf1\\xc6M\\xf5\\xbb\\xf4{\\xfe\\x06\\x1f\\xc4q\\xfd\\x9f\\xf0\\xde\\xc6\\xc0\\x00\\xa4\\xb4\\x10\\x05\\xf7\\x0b\\x9f\\xfd\\x96\\xb9+>Zi\\x1e\\xceB\\xfd\\xbesS\\x10\\xff\\x00\\xbf/\\xbd\\xff\\x00\\xc18\\x9f\\x13],&\\x0bh\\x98 H\\x921\\xc7\\xa7\\xf9\\x15\\xe4B6\\xbb>\\xc7(\\xa6\\xe5\\x19\\xd7\\x9fV\\xd9\\xe9?\\x06t\\x01\\xa2\\xf8g\\xed\\xf2\\xae.\\xef\\xff\\x00y\\x929\\x11\\xff\\x00\\x08\\xfcz\\xfeU\\xdb\\x05mO\\xcf\\xf8\\xaf\\x1c\\xf1x\\xcf\\xab\\xc1\\xfb\\xb4\\xf4\\xff\\x00\\xb7\\xba\\xfd\\xdb}\\xe7C\\xaeA5\\xed\\xca<l\\x9eZ\\xa6>c\\x8cs\\xff\\x00\\xd7\\xady9\\xb6>w\\x0b(\\xd3\\x83Mjrz\\x8b<3\\x92\\xd8\\'?}I\\xc7\\xe7C\\x8f.\\xe7\\xd0\\xd0\\x8a\\x9ct9\\x7f\\x12^\\xee\\xb8\\x01\\x836\\xd4S\\xb4\\xf4#\\'\\xaf\\xb75\\x9c\\x97s\\xec\\xb2\\xaa\\x1c\\xb4\\xae\\xba\\xb6s/6\\xe62;!\\x85r\\xbeZ\\x007\\xb1`v\\xe3\\xeb\\xe9\\xe9I%\\xbb\\xd8\\xfan[.X\\xee\\xfa\\xf6V\\xdc\\xb3or\\x96\\x90N\\xf9\\xde\\xc8\\xce\\x04\\xa7\\xaf\\xcd\\xf2\\xf1\\xdcp\\x1e\\xad>[\\xb3\\x19\\xd3ud\\xa2\\xf6v\\xd3\\xd3_\\xf21\\xd7m\\xcc\\x8a\\x08\\xc0\\x1d\\xab\\x18\\xbb\\xb3\\xd3k\\x95\\x12\\\\B8\\'\\xa9=\\x07\\xa5n\\xc8\\x8b,\\xe9\\xf1a\\xb9\\xcf\\x1e\\xb5Q\\xd1\\x99Uz\\x16\\xf5\\xbdQ\\xf4\\xdbAl\\x87\\x06u\\xcc\\x8c\\xa7\\xe6\\x0b\\x9c\\xe3\\xdb8\\xfc\\xbe\\xb5\\xb4\\xa6\\xe0\\xac\\xba\\x9cTh\\xc7\\x11S\\x9e_e\\xe9\\xda\\xff\\x00\\xf0??C\\x8eyE\\xe9r\\x02\\xaaB\\xb8\\xc3>\\x1b\\xafo^\\x95\\xc4\\xa5\\xcc{\\xff\\x00\\x05\\x97s.\\xfbP\\x94\\xaf\\x96\\xaf\\xe5\\xafu\\x8f\\xe5\\x18\\xf4\\xa8\\x93:!J7\\xbbDP\\xebS[\\xd9\\xbd\\xb0\\n\\xd10\\xc6\\xd2\\xbd\\xf3\\x9c\\xe7\\xaf\\xa5G0J\\x84e5>\\xa4\\x96:j\\xddA\\xe6\\xcc\\x1c\\xb3\\x12A\\x04r?\\xceh\\xdc\\x9a\\x95\\x1c]\\x91\\xabo\\x1c7\\xe9zD\\x8a\\xb32\\x86\\np\\xa5\\x8f^0q\\xea1\\xee1\\xde\\xba\\xf4w\\xb1\\x84\\x9c\\xa1\\xcb\\xa6\\x84\\x10<\\xd6\\x92\\x9d\\xbb\\xe0q\\xd79\\x04}j\\x11\\xab\\xe5\\x92\\xeekE\\x1b\\x1f\\xbe\\xe5\\xcf\\xa9\\xaa9\\x1b]\\x0bM\\x11~\\x15K\\x1f@3L\\xc9;2\\xbbi\\x97J\\xfe`\\x85\\xbeL\\xb1^\\x87\\x03\\xaf\\x1dhM&o}5#u\\xc3\\x1e\\xe3=k\\xad2\\x10\\xc6\\x1b\\x97\\xafCCel:&\\x03\\xadM\\xc9\\x92\\xb9n\\x19\\x02\\xb2\\xe2\\x9a9\\xe4\\x8d\\x08\\xa7\\xe4V\\x874\\xa1\\xd5\\x13\\xdbm\\x01\\xe5\\x90f(\\x86\\xe6\\xe7\\x19\\xf4\\x1f\\x89\\xfe\\xbe\\x95.J*\\xec\\xcd\\xc5\\xb6\\xa2\\xb7dM\\x0c\\x97\\x93I+\\xb6^Lnf\\x18U\\x1d\\x80\\x1e\\xd5\\xce\\xa2\\xe5\\xa9\\xd1)\\xc2\\x9aQ]\\x0bvZ}\\xb5\\xb0\\xc1O7\\'\\x9d\\xfc\\xff\\x00\\xfa\\xabx\\xc2(\\xe1\\xabV\\xac\\xf6v\\xf4&\\xb5\\xd0m\\xd6i%\\x95\\xc9\\x91\\x98\\x95\\xf2\\xf8\\n?\\x1a~\\xc2.\\xf7f51\\xb5l\\xa3\\x05\\xa5\\xba\\x96\\xce\\x93\\x1bp\\xb3\\xbf\\xe2\\x01\\xa5\\xf5e\\xdc\\xc1c\\'\\xd6(\\xa15\\xb4\\x91\\xeaqZ+;\\x89\\x17w\\x98\\x80d\\x0e\\x87 \\xd74\\xe8\\xb55\\x0e\\xe7dk\\xc5\\xd0uZI\\xae\\x86\\xe5\\xaf\\x87\\xd5\\x13\\x1fj$\\x1eyN\\x7f\\x9d[\\xc2\\x7fx\\xf0\\xea\\xe6R\\xbf\\xf0\\xff\\x00\\x1f\\xf8\\x03!\\xf0\\xfc\\xb3j\\x12C#,j\\xab\\xbdd\\xea\\x1b\\x9e\\xd5\\x94p\\xd2\\xe6ql\\xa9\\xe6t\\xe3EN)\\xb6\\xf4k\\xb7\\xf5\\xd0~\\xb45{\\x1b\\x12\\x92\\xdf\\xcfqd\\xec\\x03\\'\\x9c\\xc5s\\xdb*jj\\xd3\\xa9N:\\xbb\\xa1\\xe0\\xeb\\xe1q5_,9g\\xe8\\xbf3C\\xc1\\xfalQ[\\xae\\xa1\"\\x87\\x99\\x89\\x11\\xe7\\xa2\\x00q\\x9f\\xaf\\x06\\xb7\\xc2\\xd3V\\xe7g\\x8f\\x9cbg)\\xbc,4\\x8a\\xdf\\xcf\\xfe\\x01\\xd2\\xfd\\xabq\\xeb^\\x85\\xcf\\x99\\xf6v-Cs\\xdb=}\\xab9H\\xc2T\\xcf>\\xf8\\xad\\xab\\xad\\xd6\\xab\\xa4i\\x8a\\xc1\\x82\\xb0\\x9aA\\xee\\xc4\\x05\\x07\\xf0\\xcf\\xe7^v\"W\\xb2>\\xf3\\x860\\xae\\x14kbZ\\xdfE\\xf2\\xdf\\xf4\\xfb\\x8ewO\\xd2\\xe5\\xf1\\xa7\\x8b\\xe3\\xb2\\x1b\\xbe\\xcd\\x1b~\\xf9\\x87\\xf0\\xc6\\xa7\\xe6\\xfc\\xcf\\x03\\xdc\\x8a\\xe5\\x82=\\xfcN\"\\x19F^\\xea\\xfd\\xa7\\xb7\\x9b{\\x7f\\xc1\\xf2G\\xba\\xdc\\xdd\\xc7gfV\\x10\\xa8\\x91\\xae\\xd4U\\xfe\\x10\\x07\\x03\\xf0\\xae\\xa4~-\\nr\\xabR\\xf3\\xd5\\xbd\\xcc\\x89\\xb5\\x98\\xa4\\\\\\t\\x06q\\x8ex\\xad\\xe2\\xd1\\xe9C\\x0b$\\xf69\\xbf\\x14jkig\\x19\\x0c\\x1eG\\xce\\xc5\\xc7\\x00\\x81\\x92O\\xb0\\x03<R\\xab$\\xa2}6W\\x85\\xf6\\xd5Z\\xd9+_\\xfe\\x01\\xe6\\xd1\\xdd\\xdcj\\xa1\\x81>l\\xaapd\\x93$\\x05\\xed\\xff\\x00\\xd6\\x15\\xc6\\x9f2?D\\xf6p\\xa1\\xa4t]\\x91k\\xcb\"\\xe8[\\xdb!\\x9ah\\x10\\x82\\xdbp\\x14\\xe3\\x9e}G<\\xfa\\x9fnoU\\xa2\\xdd\\x19\\xa9\\'\\x1ey\\xbb\\'\\xf8\\xff\\x00_\\x91R\\xe3\\xfd\\x1e\\xca\\x1b<\\x83 c$\\xa4s\\xf3\\x1e\\xd9\\xf6\\x00~u\\x9bv\\x8a\\x89\\xd5\\x05\\xcd7S\\xa6\\xcb\\xd0!\\x8c,\\x80\\xe3#\\x1d\\x85$\\xb5*M\\xb4\\\\h\\x1aY\\xd5B\\x82\\xecxQ\\xcf\\xd2\\xb7F\\x1c\\xca1\\xbb\\xd9\\x16/\\xf5\\x8b]\\x13Kx!\\x08\\xd7\\x8cJI\"\\xb7\\xcd\\x91\\x83\\x8e\\xbc\\x0e{u\\xc7\\xe1]R\\xabN\\x8c9W\\xc5\\xd4\\xf3a\\x86\\xad\\x8c\\xae\\xaaM\\xda\\x0bT\\xba\\x7f\\xc3\\xfa\\xeds\\x95\\x91\\xdae\\x8e{\\xa9\\xd0,\\xb9p\\xacw\\x12\\xa0\\xe3\\x9cr2A\\x18\\xf6\\xec0k\\x85K\\x99^L\\xf7\\x95\\xa2\\xdc)\\xc7o\\xf8\\x7f\\xeb\\xf5f\\x1d\\xf5\\xf6\\xed\\xcb\\xbf+\\x9c\\xf0\\xb8\\xcf\\xf8\\x0faX\\xb9\\xdfD\\xce\\xf8B\\xda\\xd8\\xcev2\\x10\\x07S\\xc5F\\xe6\\xfb\\x13Z\\xe9\\x177s\\x04\\xf2\\x9e4\\xc8\\xdd#)\\xc2\\x83\\xdc\\xd4\\xb3)\\xd6\\x84\\x15\\xeen\\x1b\\xdd>\\xd9R3n\\x18\\x85\\x00\\xe5\\xca\\xe0\\xe3\\x9c\\x0cUY\\x9c\\x1e\\xce\\xac\\xb5\\xb9\\x90\\x9a\\x941\\x94\\xced\\x0b\\xd8 PGq\\x9a\\xe8\\xe7G\\xa3\\xec\\xcb\\xef\\xe2\\x98J\\xa0Hn?vIP\\xd3n\\x1d:\\x10A\\xc8\\xa3\\xda.\\x86\\x0b\\x0fk\\xdd\\xfe\\x03\\x0f\\x8be\\xdf\\x95\\xb6F$\\xe7\\xe6$\\xd2\\xf6\\x85,4mk\\x96m5{\\xfdI\\xf6\\xad\\xa4EF7\\x16-\\xb7\\xf1\\xe6\\x8b\\xb9=\\x8aq\\x8d\\x05{\\xdb\\xf37m\\xae\\xef,\\xc8h\\xa6\\x11I\\xeb\\nm\\xc7\\xd0\\xf5\\xfcsZr\\xa3\\x82\\xa4\\xbd\\xaaj[y\\x9189\\xce\\x7f\\x1a\\xe8L\\xc9\\x15\\xae0\\x82\\xaf\\xa1\\xaa\"W\\xc1\\xc6jFX\\x8aNG=(\\xb9\\x12\\x89\\xa7\\x18\\xdd\\x86\\xeckE$q\\xbb\\xad\\tZ16#wc\\x12\\xb6\\xe6\\x8c\\x1f\\x95\\x98t\\'\\xe9\\x93\\xf9\\xd4\\xc9)Y\\x99\\xa6\\xe3v\\xb7.\\x17\\xc2\\x8e\\x01\\xf4\\x19\\xebW\\xcca\\xcbqU\\xf2\\x9c\\xf5\\xfdj\\xaf\\xa1\\x0e:\\xe8]\\x82\\xe4\\xcb\\x00\\xe7\\r\\x8cU\\xc6wZ\\x9cs\\xa7\\xcb?\"h.\\x18\\xa0\\xcb\\x02O\\xa0\\xc5i\\x17\\xa1\\x8dJi\\xbd\\x112\\\\\\x05q\\xc1\\x04\\xf1\\xbb\\x8aw\\xd4\\xc1\\xd3v\\xbd\\xcbq\\xdd\\xaa\\x10\\x19\\xff\\x003C\\xb1\\xc9*S\\x96\\xa9\\x17\\xed\\xae\\x96p0x\\xf7\\xe2\\xa7}\\x8f:\\xad\\'M\\xea\\x89\\xca\\xa5\\xdc\\x0f\\x14\\x8aLn0A\\xe2\\xb2\\x92\\xe6Vf\\x1c\\xce\\x8c\\xd4\\xe2\\xfd\\xe4E\\xa3\\xda\\xcd\\xa5\\xdb\\xc9k!\\x0f\\x12\\xbe\\xe8\\xa4\\xcfP{\\x11\\xd8\\xff\\x00\\x8daI:k\\x95\\x9ab\\xea\\xd3\\xc5\\xd4U\\xa2\\xac\\xed\\xaa\\xf3D\\xd7\\xfa\\xc5\\xae\\x93\\x0f\\x9bw:@\\xbd\\xb2y?A\\xd4\\xd6\\xb2\\x9a\\x8e\\xac\\xc6\\x96\\x0e\\xae&\\\\\\x94b\\xdb9\\x1dS\\xe2\\x8c\\x84\\x18\\xf4\\xc86v\\xf3\\xe7\\xe4\\xfe\\x0b\\xfe?\\x95rJ\\xbd\\xfe\\x13\\xe9\\xb0\\xdc5\\x1f\\x8b\\x15+\\xf9/\\xf3\\xff\\x00/\\xbc\\xe4,\\xeeg\\xbe\\xd5\\xfe\\xd5;\\xb4\\xd2\\x92dg~O\\x1d\\xcdr7{\\xb6}s\\xa7\\n4}\\x955d\\xb4\\xb1\\xea\\xbf\\x0cl\\x92\\xc7E\\xb8\\xd41\\x89o\\xa5,\\x0f}\\x8aH\\x03\\xf3\\xdckX+#\\xf3.%\\xae\\xeb\\xe2\\xa3\\x87[S_\\x8b\\xd7\\xf2\\xb1\\xb5\\xaa\\xce\\xa63\\xb5F\\xec\\xfc\\xcc\\xbd\\xbe\\xb5\\xa9\\xe1a\\xe0\\xef\\xa9\\x89+\\x83\\xd1IoZ4=\\xcaQ\\xd0\\xe5\\xbcA\\xa9}\\xaah\\xac\\xad\\xd43\\xb3l\\xdf\\xeeq\\x9cV2\\x95\\xdf*>\\xc3\\x01\\x87\\xf6\\x10ujz\\xfd\\xc3#Sqp\\x96ZX\\x8dL!\\x87\\x98N\\x15\\x08\\xe0\\xc8\\xe7\\xd4rG\\xe1T\\x9d\\xdd\\xa3\\xfdy\\x9d\\r\\xf2A\\xd5\\xae\\xdb\\xbf\\xe3\\xda([\\x98\\x9bA\\xd3\\xe2\\x82\\x04\\x0c\\xccw<\\xbd\\x0c\\x87\\xa0\\'<\\xe3\\xd0\\x7f\\xfa\\xea\\x9b\\xf6j\\xc8t\\xed\\x8a\\xa8\\xe77\\xe5n\\xdf\\xd7S\\x1a\\xfe\\x14\\xb4\\xb7[\\x9b\\x99\\xe2N\\x06Pr\\xe7\\xf0\\xe8?\\x13Y4\\xf7=\\xaaT\\xe5?\\x87b\\xcd\\x9a\\xa3\\xc0\\xb3#\\x06\\xdf\\x8d\\xa4~\\x15q\\xda\\xe75T\\xe37\\x07\\xd0\\xbfk\\x04V\\xd6\\xf2]\\xddL \\xc0>Hb\\x01v\\xf5\\xe7\\x9c\\x0e\\xbc\\x03\\x9cb\\xb6\\x82\\xb7\\xbc\\xcf6\\xb5YNj\\x85%~\\xfeK\\xb7\\xaf\\xad\\xad\\xb9\\xcb_\\xbd\\x95\\xcd\\xf4\\x8c\\x84\\x85\\n\\xa38\\xc9s\\xb7\\x0e\\xd8\\xf5\\'-XO\\x95\\xbb\\x9e\\xcd(\\xd5\\x854\\x9e\\xfa\\xfez/\\x92\\xd0\\xc6\\xd4\\x1e\\xc28\\xc9\\x86I\\x1a@\\xbd\\x1b\\x90O\\x1c\\xe7\\x03\\x1d\\xf8\\xc7\\xa5r\\xcb\\x95\\xf5;)\\xaa\\xad\\xfb\\xc8\\xc3\\x02K\\x89\\x02\\xc6\\xad#\\x9e\\x8a\\xa3$\\xd4\\x1d\\xad\\xa8\\xab\\xb2\\xe5\\x95\\xfc\\x9all\"\\x94+\\xc8>b\\xb8\\xc8\\xe7\\xd7\\xd6\\xaa6\\xeaa:j\\xa3\\xd5h\\x89m5\\xab\\xabWu\\x92YZ\\x13\\x92\\x13<n#\\x83\\xf9zb\\x8d\\x9e\\xa4\\xcf\\x0f\\t\\xa4\\xe2\\x95\\xc7K\\xe4\\xc5\\xb0K&\\xe6*\\x18l\\xda0\\x08\\xee3\\xd6\\xb5\\xba\\xeaJ\\xe6\\x97\\xc2c2\\x81\\xc89\\x1e\\x95\\x9b\\x8f\\x99\\xdc\\x98c>\\xd4\\x95\\xfa\\x8d\\x93Y\\xc2%\\x99SxR\\xc7h-\\xd0S]\\x89r\\xe5M\\xd8\\xee\\xb4\\xd5\\xb3[\\x08\\xe3\\xb6\\x95\\x19\\x97\\x89\\x17vX\\xb7s\\xd0~U\\xd5\\r\\x15\\x8f\\x12\\xa3\\xa8\\xe6\\xdc\\xd7\\xa1+\\xaf\\x04\\x83\\x9e\\rhM\\xfb\\x90\\x00\\xc4\\x90G>\\xf5h\\xad\\x08e]\\xd88\\xf6\\xab\\xb9h\\x92\\xc7C\\xbc\\xd4\\xdd\\xbe\\xcd\\x16\\xe5^\\xae\\xcc\\x15\\x07\\xd4\\x9e)\\xadv3\\x9dXS\\xf8\\x99\\xa9\\x1f\\x84\\xee\\xa3_\\x9e\\xea\\xcc7\\xf7L\\xbf\\xfdlu R\\xe5f^\\xde\\xff\\x00a\\xfd\\xdf\\xf0K0xgS\\x0c\\xa6;\\x7f\\xb4g\\xfey:\\xb1\\xeb\\x8e\\x99\\xcf\\xe9Y\\xb7g\\xa9\\x84\\xea\\xc1|Z|\\x88f\\xb7\\x9a\\xd6_.\\xe2\\'\\x82Q\\xfc\\x12)S\\xf9\\x1a\\xbeqE\\xc6j\\xf1w\\x1e\\x8c\\x00\\x00\\x0cQ\\xcdb\\\\^\\xe3\\xc4\\x9bz\\xfe\\xb4\\xf9\\xc8q\\xb94W*\\x18\\x8c\\xe0\\x9e1U\\x19\\x19J\\x9b\\xb0\\xf8g\\xe0\\x8e\\x9d\\xebH\\xb2%L\\x9c\\xc81\\xf4\"\\xab\\x98\\xc3\\x95\\x96\\x0f\\xefF\\x0eq\\xecj\\x9c\\x8cRqwF\\x84\\x0e@\\x185<\\xc7\\x9dR\\x9a}\\x0b\\xf1LA\\x039\\xc5O1\\xe7T\\xa1}N{\\xc4~7\\x8a\\xc36\\xf6\\x81n.G\\x05\\xcf)\\x19\\xfe\\xa7\\xda\\xb9\\xe7YGH\\xeez\\xf8\\x0c\\x9eu\\x7fyU\\xf2\\xc7\\xb7W\\xfeG\\x03wy5\\xfc\\xed5\\xc4\\x8d,\\xad\\xd5\\x98\\xd7\\x13\\x93n\\xec\\xfbzT\\xa1F*\\x14\\xd5\\x91\\x06y\\xe6\\xa4\\xd8\\xd1\\xd3\\x1aA\\xe7\\x88\\x94\\xb0h\\x981\\xf4\\x1f\\xfe\\xbcSg5U\\x1d/\\xdc\\xf6\\xdd\\x01R\\xd7\\xc3\\xdal\\x00\\x8c\\xa5\\xbc`\\xf3\\xd0\\x903\\xfa\\xd6\\xc9\\x9f\\x8bc\\x9c\\xaac*\\xcd\\xf5\\x93\\xfc\\xcc\\xcb\\xd0c\\x95\\xb9\\xc8bI\"\\x9e\\xcc\\xeb\\xa3f\\x91X\\xba<\\xa0d\\xaaq\\xbb<\\x9e\\x9c\\xd5_S\\xd2\\xa4\\xa5\\x15\\xa9\\xcaI\\xa1\\xcfg\\x17\\xdb\\xa7\\x98\\x0b\\x99d\\xf2\\xe0E9\\x01\\x8fR\\x7f<~5\\x93V\\xd5\\x9fa\\x0c\\\\+\\xcb\\xd9S\\x8f\\xba\\x95\\xdb\\xfd\\r\\x8d6\\xd27\\x8e\\xde\\xce=\\x96\\xd6\\xfc\\xdcO&r\\xf2 \\xfe6\\xf4\\xf6\\x1e\\xe3\\xde\\xaa:\\xe8rV\\xaa\\xe0\\xe5U\\xfb\\xd2\\xd9.\\x89\\xf6_\\xab\\xf23umDj7\\xf3\\xdcm\\x013\\x84\\x04c\\xe5\\x03\\x81\\xf4\\x00\\n\\x99K\\x99\\xdc\\xf40\\xf4=\\x8d(\\xc2\\xfa\\xf5\\xf5\\xff\\x00\\x82r\\x9e.\\xf3[O\\x8f\\x8f\\xdc\\xb6@=\\xf3\\x9c\\x9a\\x9b\\xde-\\x1fA\\x82\\x92i\\xc7\\xaa/\\xf8\\x0e\\xeaMGNKKkv\\xb8\\xbbFb\\xd8\\xf9v\\xc4\\x06~\\xf7bI \\x1e\\xd9\\xf5\\xc5iE\\xddy\\x9eNn\\xd5\\x19{J\\x92\\xe5\\x8b\\xb7\\xcd\\xfau]_\\x97\\xcc\\xce\\xd5\\xdeK\\xc9\\xdev\\x88G\\x93\\x96D-\\x80O\\xf0\\xe5\\x89\\'\\x03\\x03\\xfc\\xe6\\xa2Rm\\xdd\\x9dxh*PPN\\xff\\x00w\\xdf\\xa5\\xb70\\xe6\\x9c\\xc0\\xca\\xc9\\xc3\\x8er;V\\x0eV=\\x15\\x1em\\x19RH\\xe07\\x92\\x0b\\x89$\\x8d\\x179U\\\\\\xb1>\\x9e\\x83\\x9e3\\xfaT?#F\\xe4\\xa3\\xee\"W\\xbb\\xb4\\x96\\xc5\\xa1\\x8c-\\x9b\\x0f\\xe2PI\\x93\\xfd\\xe3\\x9f\\xfe\\xb74\\xd2F*\\x13\\x8c\\xf9\\x9e\\xbf\\xa7\\xa1\\x91\\xb7i#\\xd2\\xa5\\xbb3\\xb5jI\\xe6a\\n\\xf2rrE_2\\xb0\\xb9u\\'\\x86\\xf5#\\x89Q\\xed\\xa3\\x97o\\x01\\x88\\xc1\\xc7^jy\\x92\\xe9r]6\\xdd\\xd3\\xb1P9\\xda\\x06\\xd0=\\xeb[\\xf4.\\xc5\\xed>\\xc0\\xdf\\xcd\\xb4H\\xb0\\x12\\t\\x0e\\xe7\\n\\x7fJ\\xd5G\\x9bS\\x19K\\x97mMI\\xfc#!\\n!\\xba\\xb4w\\xc6J\\xa3\\xb7_\\xc4U:)\\xec\\xc8Ue\\xd51\\xd2\\xe9z\\xa5\\xb8?\\xba\\xf3\\xa3\\x00md9#\\x07\\x8d\\xbd\\xfdx\\xf7\\xab\\xf6sZ\\xa3.x=\\xf4f\\xbc7\\xf1\\xcaT\\xdc\\x9f\\xb0\\xcav\\xae\\xd9Q\\x80o\\xf6\\x89\\xedOU\\xba8\\xa5\\x1f\\xe4\\xf7\\xbd\\x194\\xcea\\x99\\xa2`\\x0fC\\x9c\\x82\\x08#\\x82\\x0fJ\\xab\\x90\\xa2\\x9a\\xba\\x14\\xc7\\x04I\\xe7\\\\\\x1c/h\\xf3\\x82\\xdf\\x8e\\x7f\\xcf\\xb5Z\\xb5\\xae\\xcdi\\xc2SvD\\x17^\"\\xb8eUg\\xf2UAUU\\xe1\\x07\\xb0\\xfeu\\x9b\\xac\\xfa\\x1e\\x95<<!\\xb1\\\\k\\xee\\x18\\x10\\xec\\xd8\\xe4v\\xe46y\\xf5\\xea\\x7f:\\xcf\\xda3Oe\\x1e\\x88\\xd6\\xd3\\xbcG*(\\x8d&(F\\x15pI\\xcfn\\xdfJ\\xa5;\\x99N\\x84^\\xad\\x1dv\\x9f\\xe21\\x7f\\x0f\\xd9.\\xd9.\\xed\\xdf\\x9f.N@\\xc0\\xc7\\x07\\xb1\\xeb\\xca\\xe0\\xd5s#\\xc4\\xad\\x81I\\xf3\\xc1Y\\xf7_\\xd7\\xe6c\\xeb\\x9a<\\xbad\\xed5\\xba\\xbc\\xbas\\x1c\\xa4\\xa4g`\\'\\xee\\xb7\\xbfoCBh\\xc2\\x9c\\xae\\xb9g\\xf1~~\\x86`\\xb9\\x00r:t4\\xcd\\x9cE\\x13.\\xe0\\xc3\\xaf\\xb5\\x1a\\x85\\xb4\\xb1\"O\\xf3\\x03\\x9c\\n\\xa4\\xda!\\xc6\\xe8\\xb0\\'(\\x18z\\x8a\\xaec/gr\\xcc\\x17|\\x02M>m\\x0eyR\\xd4\\x9e\\xdfPo\\xa1\\xed\\x8e\\xf4_C)\\xd1FG\\x88<Z\\xf8{[Y0\\xc7\\x89%\\x07\\xa7\\xb0\\xff\\x00\\x1a\\xe7\\x9c\\xfa#\\xb7\\x0b\\x97\\xad*T^\\x88\\xc0\\xd3t\\xab\\xad]\\xc8\\xb7\\x8f(8.\\xc7\\n?\\x1a\\xc1E\\xb3\\xd3\\xad^\\x9e\\x1d{\\xec\\xde\\x83\\xc0W\\x12\\x01\\xbe\\xf2%oERE_\\xb3<\\x99\\xe6\\xd0\\x8e\\xd0v2\\xf5\\xef\\x0f\\xcd\\xa1L\\x81\\xd8M\\x13\\x8c\\xac\\xaa03\\xdc}j\\x1clv\\xe0\\xf1\\xb0\\xc5\\xa7ef\\xba\\x14!\\xb8x\\x1br6=Gc\\xf5\\xa9;\\xa5\\x15-\\xcfX\\xb0\\xd5\\x9aM\"\\xc7f\\x01x\\x13\\'\\x19\\xc7\\xca+[\\xdbc\\xf2\\xbcF\\x19,UNn\\x92\\x7f\\x98\\xff\\x00\\xb6\\xc8\\xa1\\xfe}\\xe0\\x8f\\xbd\\x8cU&\\xcb\\xfa\\xb2\\x95\\xb4\\xb7\\x91B\\xea\\xed`\\xb7\\x96\\xe1\\xc3\\xb4q\\x8c\\xb1Q\\x92=*v\\xd5\\x9e\\xa5\\x1c;\\x94\\xd55\\xbb3\\'\\xd5\\x9e\\xf2\\x1b{\\xab\\xbd\\xc9n2mmW\\xf8Qz\\xb9\\xf5bs\\xcf\\xff\\x00[\\x19\\xb9_Vz\\xf4\\xb0\\xf1\\xa5)S\\xa5\\xab\\xfbR\\xf3{/D\\xbf\\xae\\xf5\\xf4\\xbd^{\\x84\\xb9\\x8d\\xdfy\\x97j\\x94\\xd8\\x01\\x1c\\xf0\\xa0\\xfaq\\xfaQ\\xcc\\xce\\xaa\\xd8hE\\xc2Im\\x7f\\xf8,E\\x8d\"\\x9aFw\\x88H\\x01\\x0b\\xe60U8\\xe5\\x8eq\\xfex\\xa4oyM(\\xc53\\x07Z\\xd6\\xad5{+\\xabD\\x85\\xa6\\x9a/\\x9e)\\x94\\x95\\x01G\\xde\\x01{\\xfc\\xa0\\x9c\\x9fN\\x95\\xa2VL\\xee\\xa5\\x86\\xa9\\x86\\xa9\\x1a\\x9c\\xfe\\xeb\\xd1\\xaf7\\xb6\\xbe\\xb6V9M\\'T6>l\\x0cd0J\\xc3x\\x8d\\xf6\\xe7\\x19\\xac\\x93{\\x1e\\xb5Z1\\xaa\\xd4\\x9e\\xe8\\xde\\xbb\\xd5\\xa3\\xd4\\x92$\\x81<\\x9bu\\xe1\\x94\\x9d\\xc4`\\xfa\\xf1\\xebO\\xa1\\xc0\\xa8\\xba-\\xf3;\\xb2\\xacv\\x16\\x977\\x0e.\\xef\\x1a\\xdeF\\xe5\\x04q\\xe4\\x10=\\xf21Y\\xc9j\\\\\\xa7R+\\xf7qO\\xd5\\xff\\x00\\xc04\\xaf4\\x1d/U\\x8deMA`\\x95\\x13\\x123\\x85\\x1b\\xcf\\xf7\\x8f?\\xadL\\xf9\\x93\\xd5~?\\xf0\\x0c!V\\xbd\\'g\\x1b\\xaf\\xcb\\xf09\\x0b\\xfd5\\xac\\xe4\\n$\\x8e\\x7f\\x97v\\xe8\\x8e\\xe5\\x03\\xebIk\\xb1\\xe9\\xc2jZ\\xda\\xc5C\\xcfj\\x96\\xeet%aqI\\x0cN(\\x02!\\xf5\\x1c\\xd7A,\\x9a9\\n\\x85\\x02V\\x04\\x1e\\x07j\\xb4\\xed\\xd4\\x86\\xbc\\x8b\\x0b\\xa8J\\x8d\\xf7\\xb9\\xf6<S\\xe7\\xd4V-\\xdbx\\x82\\xe6\\x03\\x95\\x91\\x81\\xf5\\x0cEZ\\xa8\\xd0\\x9c\\x13\\xdc\\xd3\\xb6\\xf1\\xb5\\xecjA\\x90\\x1d\\xdc\\x10\\xc0\\x11[G\\x11%\\xb39\\xe7\\x85\\xa5?\\x8a(\\xb4\\xbe0I\\xe2X\\xa7\\xb4\\xb5\\x95\\x17\\xb2\\xc7\\xb0\\x8f\\xc4\\x7f\\x9ej\\xbd\\xbf2\\xb3H\\xc7\\xeap\\x8c\\xb9\\xa2\\xda~\\xad\\xfed\\x8f\\xabhw\\xf2+Oiqnz7\\x936\\xec\\xff\\x00\\xdfC\\x8czP\\xe5N[\\xab|\\xc6\\xa1\\x88\\x82|\\xb3O\\xd5\\x7f\\x90\\xc8\\xb4\\xfd\"\\xed\\x94E\\xacI\\x13g\\x00\\xdc\\xdb\\x9c\\x7f\\xe3\\xa4\\xd6<\\x89\\xf56uj\\xc5k\\x0b\\xfa?\\xf3H\\x90\\xf8c\\xe6\\x1eV\\xb3\\xa7\\xb1\\xec\\xdb\\xca\\x7f\\xe8J)ry\\x82\\xc4\\xf7\\x83\\xfe\\xbed\\x87\\xc2w\\xd1\\x9f\\x96[i\\x0e81\\xdd\\xc4\\xdc\\x7f\\xdfTr\\xd8_[\\xa7\\xe7\\xf7?\\xf2.\\xda\\xd9\\xea\\x16\\x8a\\xcc\\xdbUz1\\xf3\\x17\\x1e\\xbc\\x90~\\x95v!\\xd6\\xa5&\\x97\\xe8\\xcd\\xad;^M*\\xd2rd\\x8ek\\x95P\\x91\\xc2\\xc4\\xb4x\\xee\\x08\\x1c\\x1e\\t\\xa9\\x92\\xb9\\xc3\\x89\\xa7\\xedl\\x96\\xdd{\\x9c\\xe7\\x981\\xc6+AX\\x15\\xf7\\x13\\xea\\x07Q@5a\\xeaq\\xdf\\x04\\xfaS \\x90L\\xc0\\x0f@1@\\xacK\\x1c\\xe7i8\\xc1\\xf7\\xa0\\x96\\x89Y\\xda{v\\x8e9<\\xa7a\\x8d\\xf8\\xc9\\x14\\x9a&\\xca.\\xed\\\\\\xcf>\\x16C\\x11\\xd9tK\\xf6\\xca\\xf1Y\\xf2\\x1d\\x1f\\\\i\\xeb\\x1d\\x0e\\xa6\\xd6d\\x825\\x8e0\\x15G@8\\xaaz\\x1e5H9;\\xb2\\xe2]\\x11\\xde\\x8b\\x9c\\x92\\xa6-\\xf4qj\\x96R[J\\x01W\\x1c\\x1c}\\xd3\\xd8\\x8a\\xcd\\xb3\\x08FT**\\x90\\xdd~>G\\x9a\\xdcB\\xf6\\x93\\xcb\\x04\\xa3\\x12Fv\\x9cVg\\xda\\xc2JqS\\x8e\\xcc\\xee<7|\\x1fC\\xb4;\\xbex\\xc3.>\\x84\\xff\\x00J\\xad\\xac\\xcf\\x94\\xc6a\\xf9q\\x15.\\xb4v\\xfc\\x8b\\xb7z\\xc4P \\xf3\\x8e\\xd2\\xc3\\x85\\x1c\\x93\\xf4\\xa6\\xea[s\\x9a\\x8e\\nSw\\x86\\xc7+\\xa9\\xea\\xf2\\xebW1\\xc6\\x83\\xc8\\xb3C\\x927\\xf0@\\xea\\xe7\\xff\\x00\\xd5\\xe8+\\x17\\'#\\xe8\\xe8ac\\x86\\x8b\\x93\\xd6O\\xfa\\xb1\\xa5e;\\xca\\xf2j\\x13\\x81m\\x19\\x84Gm\\x16z\\x01\\x8c\\x1cs\\xc61\\xf9\\x9a<\\xceZ\\x90QJ\\x8c5w\\xbb~\\xbf\\xa8\\xeb\\x1f*\\xc6\\xd1\\x18e\\xa5f\\xc0\\'\\x82OA\\x8f|\\x9ah\\xaa\\xbc\\xd3\\x9b\\xbe\\xc3\\xf5$\\x85<3p\\xce\\xf1I4\\xa0\\xa1\\x08\\xc4,[O#8\\x04\\xb1#\\x18<s\\xeb\\x8c\\\\n\\x9b\\xd0\\x9c2\\xadW\\x14\\xa5\\x18\\xb5\\x08\\xf7\\xeb\\x7f\\xd1}\\xff\\x00-\\xfc\\xaaieB\\xce\\xa1\\x820#)\\xfa\\xd6ros\\xec\\x12MY\\x96.%\\xb1{(\\x04\\x16\\xf3C?\\xfc\\xb4\\x9aIAS\\xf4\\x01r?3T\\xda\\xb2\\xb2\\x05{\\xbb\\xb3_@\\xbd6\\x11\\xcbn\\x8a\\x93\\xc9p\\xc1\\x18\\xa9\\x18\\xd8z\\xf3\\xd8\\xfazu\\xac\\xaa#\\xce\\xc5\\xd3\\xe7jOKk\\xf3\\reF\\xe8\\xecG\\x94Z?\\xbeS\\x8c\\xb6\\x0ey\\xf4\\xe7\\xa5Z\\\\\\xca\\xefr(\\xea\\xbd\\xa7r\\x18\\xf4\\x98\\x1a\\xccN\\xf7qeWsF\\x18\\x06\\xeax99\\xce==kE\\xe6t.w\\xb22.g\"v\\xda0\\xa3\\x80;b\\xa6Z3h\\xad\\n\\xec\\xc01\\xc0\\x07>\\xb5\\x93I\\x1a\\'sOH\\xd3-u\\x08\\x9c\\xc9r\\xc90<D\\xaa:z\\xe7\\xbf\\xd2\\xa5+\\x99\\xd4\\x9c\\xe2\\xfd\\xd5\\xa1$\\xde\\x18\\x97\\x7f\\xeegGOW\\x04\\x1f\\xd34r\\tV]Q\\x81\\x9a\\xb3\\xa4]\\xc7\\x8c\\xd0\\xee\"L\\xe0t\\xfcjT\\x92\\x13Bpy\\xefO\\x98,\\x00g\\xad]\\xc9n\\xc2\\xe7\\xd3\\x8a.M\\xc0;q\\xce)s\\x17\\xa1\"<\\xc8\\xc0\\x10\\xde\\xd4\\xd3a\\xa1\\xbdcj\\xf1 \\x92y\\x1f\\x9eB\\xa9\\xe3\\xf1\\xae\\x98\\xa7\\xd5\\x9cU*]\\xda\\x05\\xb7 m.\\xa4\\x06\\xfe r\\x05Y\\x92m\\xec\\xc9\\x96\\x15A\\xb9T\\x1fqCfNM\\xee\\x06O\\x97,8\\xeaNx\\x14\\xc5g\\xd0\\xa3&\\xaa\\x88\\xd8\\x89|\\xe2;\\x93\\x85\\xff\\x00\\x13\\xfaT9\\xa5\\xb6\\xa7Tp\\xed\\xfcZ\\x17\\xf4\\xfb\\xe9f\\x97\\x12\\xda\\xa3\\x86=\\x13*G\\xebMO\\xba)\\xe1\\xa2\\xd6\\x8c\\xb7{\\xb2\\x1b\\x86X\\xd8\\x95\\xe0\\x8c\\x90H8\\x04\\x8e=\\x0f\\x15rI=\\x0f=&\\xae\\x98\\x8b!\\xdb\\xcd\"Z\\xd4\\xb1\\x1b\\x06\\x14^\\xc6oBx\\xc6\\x07\\x07\\x1cu\\xa5\\xcc\\xba\\x91rhe!NH4]\\x19\\xc9]\\x80\\x9c\\xa3\\x12O\\x07\\xda\\x8b\\x89\\xc52e\\xbd\\xf4\\xc9\\xa8m\\x11\\xec\\xc9#\\xd4I\\xea6\\x01\\xc6Mf\\xc8\\x95\\x13\\x13\\xc5\\x88\\x8e!\\xbaR\\x0b\\xfd\\xc7\\xc7\\xa7j4\\xb1\\xdf\\x81n7\\xa6\\xf6\\x19\\xa3j?c\\xd1\\xdd\\xf7e\\x96R\\x15=x\\x14\\x9bI\\x17^\\x8f\\xb5\\xadkia^Y\\xf5\\x89UC\\x00\\xf2dd\\xe7\\x01z\\x9c\\x0e\\xa0\\x0crz\\x9f\\xce\\xb2\\xd5\\x8d(a\\xe3\\xb6\\x8b\\xf3\\xff\\x0023k\\x040\\xb2\\x19Y\"\\xc8$\\x93\\xcb\\x80z`\\x0e=y>\\x94\\xd4Qjrn\\xf6\\xd7\\xf2$\\x9f\\\\\\x869a\\x91F\\x048\\xf2\\xe3\\x1ft\\x0cu>\\xa7\\x81T\\xecLh6\\x9a}we\\x8b\\x0b\\x93x\\xd1\\xcbw\\t\\x16\\xf38D\\x98F\\xc0\\xa6?\\xb8\\xd8\\xc6\\xec\\xff\\x00*\\\\\\xcb\\xec\\xbdNj\\xf0q\\x8bT^\\xab\\xa6\\x9a\\xfa\\xad\\xec/\\x8f\\xad\\xad\\x92\\xc1\\x0e\\x9d>\\xe870h\\x14\\x9d\\xb1\\xf3\\xc6\\t\\xeb\\x9e\\xe7\\xb9\\xcd(\\xcf\\x9a\\xea\\xc4\\xe4\\xf5\\xeb\\xcb\\x9a\\x9e&6}\\x1f\\x7f\\xf2\\xf2]\\x8e:}bG\\xd2#\\xb6T\\x89! \\x12V1\\xbb#\\xfd\\xae\\xa3\\xe9\\xd2\\xb4\\xe7|\\x9c\\xabc\\xe9\\xd2\\xd6\\xe5\\x13\\x1cRiA\\xfe\\xd0\\xbehb<\\x92\\x0e\\xecz\\xe7\\x18\\xc7\\xe3\\x9a\\xcfxn5\\xf1l_\\xf0\\xc6\\xa7\\x05\\x81\\xba\\xfbI\\x18xJ\\x80W?7\\xf8\\xe35\\x84\\x972G\\x0e2\\x8c\\xeb(\\xfb7k;\\x96\\x96;\\x0b`.\\x19\\xe5\\x9a\\x02\\x9f}T\\x82\\x1b\\x8c\\xf1\\x8cz\\x8eOQT\\x9b^\\xa6M\\xd6\\x93\\xe5\\xb5\\x99\\x8f\\x7fo$@\\xcb\\xb4\\xf92r\\x8cz\\xe3\\xb6}\\xf1ZI;]\\x9e\\x94/\\xca\\x93\\xdc\\xb6\\xfa\\xad\\xac\\xd6\\xaa&\\xb0\\x84\\xce07!)\\x91\\xeb\\x80q\\x9a\\xad\\xf79\\xe5JI\\xde2\\xb1J\\xde\\xc2k\\xa6\\xfd\\xd2n\\x19\\x03\\'\\x803Y\\xb8\\xc9\\xb3IT\\x84\\x17\\xbc[\\xb9\\xb5\\xb6\\xd3^2\\xcb\\xf6\\xad\\xa7.C\\xe1I\\xf4\\xe3\\x90+NH\\xa3\\x18\\xce\\xa5D\\xfa\\x10\\x8b\\xab\\xa9\\x89kf\\x95\"\\xcf\\x0b\\xbf8\\xfcM-\\xf65V\\x8e\\x92\\xdc\\xa0@Q\\x85\\x00\\xf1\\x8c\\x91\\xd2\\x9d\\xfa#OQ\\xa0\\xf3\\x8a\\xcd\\x968sQ\\xa7P\\x10n-\\x802}*\\xd4o\\xb06\\x96\\xe2\\x13\\xcfSUk\\x08\\x92\\x11\\xe6H\\x01\\xe2\\xaa*\\xee\\xc6oEq\\xac\\xad\\x1b\\x10z\\x83\\xd8\\xd6^E\\x16\\xd2\\xee9\\x0eeVRz\\xb2\\xf4\\xad\\xb9\\xd3\\xf8\\x85\\xafB\\xd4M\\x0e\\x08K\\xd3\\x18\\xeb\\x86\\x04\\x03V\\x9czHM_t[\\x88\\xe4\\x8f\\xf4\\xdbw\\xff\\x00}\\x85Zo\\xb9\\x93\\x84z\"e\\xba\\x08\\xdc\\xdc\\xdb~\\x0ei\\xdc\\xcd\\xd2L\\x87d7m\\x89/\\x95\\x86xUV\\xc7\\xf2\\xa8\\xdf\\xa9\\xb2\\xb4\\x16\\x88\\x95-\\xad\\xe1?.\\xe9H\\xf4\\x18\\x1f\\x9dR\\x8aBuM\\x18\\xafZ\\xdd?s\\x1a\\xc6\\xc7\\x8c\\x91\\x9c}*\\xedc\\x9aU[\\xd0\\xad#\\xb1##\\x1fJM\\x98\\xa4\\x89#\\xb8l\\x85\\xc1\\xfa\\xe6\\xa5\\xc8N+r\\xdcw%O\\xdd8\\xa9\\xbb1p\\xb9*\\xea\\n\\x00^\\x0e{\\xf5\\xa9w\\'\\xd9u\\x1a\\x9a\\x8ao\\x00\\xb6\\xdc\\x1e\\xddi\\xdcn\\x9b\\xb1:\\xdeA!\\x1c\\xcb&G(\\xa0g\\xf3\\xff\\x00\\xebQr\\x1c$\\x88\\x8c\\xeb\\x90-\\xe7\\x9a\\xdea\\xc8\\x1bG\\xe4M4\\xecZV~\\xf2M\\x16\\x9a\\xef\\xf7\\x00\\x93\\xf3\\xa8\\xf9\\xbeB\\x01?\\xca\\x95\\xcc\\xdcT\\xa5\\xa2\\xb7\\xcc\\x8ei\\xe3\\x9e\\x19\\x12e8*x\\xc60=i\\x0e0q\\x92qf\\r\\xb2\\xc9\\xb1a\\xcf\\x05\\xce3\\xeb\\xc0\\xcdK=\\t5\\xb9\\xaf\\xa8_\\xdb\\xe9\\xc2E\\x8dwJ\\xe1U\\xdbw\\x1bz\\xed\\x1f^?*m\\xad\\xce:t\\xe5;9l\\x8e~{\\xf6\\x94`\\x92Gl\\xd4\\x1e\\x84b\\x90\\xbau\\xb4\\xb3\\xdfZ\\xb4\\x96\\xb2O\\x01p\\xcc\\x83\\xe5\\x0e\\xa0\\xf23\\xf8\\x1aN2j\\xd1\"\\xa4\\xe2\\xa1/z\\xcf\\xf2/x\\x8b\\xc4\\x93\\xcb\\xa8,H\\x9ff\\xb4\\x8aM\\xcb\\x10\\xc3d\\x8e\\x84\\xf68\\x1c\\x01\\xd0\\x0f\\xc6\\xad\\xab$\\x8diQ\\x8f\\xb3\\xf3\\xb1k\\xfbWN\\xbf\\x8ft\\xf0\\xacv\\xe4`\\x10\\xeeq\\x8f`q\\x9e}+&\\xa3\\x05\\xa3\\xd4\\xe2\\x86\\x1et\\xbe\\x16\\xdb\\xf9\\x1c\\xc6\\xa7\\x1c\\x11|\\xb6\\xeb2#\\x12\\xd9\\x9f\\x03\\x83\\xd3\\x18\\xa8R\\xd1\\xdc\\xf5\\xa9\\xf3\\xbdgc8\\x10\\xbcg\\x92sE\\xfa\\x1b\\x0ei\\x08b\\xeb\\xf8\\x0cPH\\xabr\\xe9\\xb4nf\\x00\\xe4\\x8c\\xf5\\xf5\\xa7\\xa5\\xc9qMj>\\xea\\xf1\\xe7U\\x8fq\\xf2\\xc1\\xc8^\\xc3\\xe8+IHqV\\x0bk3q\\x92\\xee\\xb1 \\x19\\xdc\\xe7\\x03\\x1f\\xcc\\xfe\\x15\\x9c\\xa4\\'$\\xb4\\x04\\x99\\xed$\\r\\x0c\\xe42\\x9e\\n\\xe7\\xf3\\x14\\xef\\xa6\\x84\\xb8\\xa9\\xe9$Ihn.\\xa6!A\\x97h\\xdc\\xc8Fr\\xa3\\xad\\nmn\\xf4\\t(\\xc5\\x17&D\\x9d\\xf7G\\x02F02\\xa2C\\x80H\\xcfl\\xfa\\xd5Y\\xb3%\\xa2\\xd5\\x98\\xec\\xa78\\x07\\xad5\\xa9\\xd0\\xdd\\x841\\xe0\\x90XSj\\xddA;\\xf4\\x13\\xa7~*,Q,2$\\\\\\x90\\xc4\\xf6\\xc1\\xc7?\\xe7\\xb5i\\x19(\\x99\\xca-\\x8d\\x90\\x86\\x91\\x88\\xe3\\x9a\\x1b\\xd5\\x8dl\">\\xd2x\\xfc(N\\xc2j\\xe3\\xe5l\\x92G\\x00\\xf4\\xefS%\\xad\\xc7\\x1d\\xacG\\xbc\\xd4\\xf2\\xa2\\xc5W\\xcd&\\x90\\x0eu<\\x11M;+\\x923\\xcc\\xc1\\xe4b\\xae\\xe1c[F\\xbb\\x86\\xd9\\x98\\xca\\x8a\\xfb\\x86\\x08e\\xce?\\xa8\\xad \\xcez\\xd1rI&l\\x99a\\xd8HS\\x04\\xbc\\x90\\x18e\\x08\\xf5\\x07\\xaf\\xf3\\xad\\xef\\xdc\\xe3\\xe5\\x95\\xfb\\xa3>[\\xb9`?2\\xe66\\xe5Y[\\x83\\xf8\\xd46\\xfa\\x9b\\xc6\\x11\\x96\\xc4\\xb0\\xea\\xaa\\xa4\\x1d\\xac\\xa4w\\x18j\\x9d\\x04\\xe8\\xb2\\xfcZ\\x8a\\x91\\xb9/0\\xc7\\x92\\xae\\x84~\\x1cdS\\xbffs\\xb8=\\x9cG\\x8b\\xd4Ub\\xd1\\x86F\\xea\\xc8\\xfc\\x0f\\xc3\\xb5I>\\xce\\xe2\\t\\xd4D\\x15J\\x80\\xc7\\xb8\\xe8>\\xb4\\t\\xc5\\xde\\xecH\\xf7$\\xa7\"9\\x17\\xf8\\x89!q\\xf8\\x93B\\xd0m&\\xbb\\x12\\xad\\xd9E\\x99\\x0b\\xa5\\xb8\\\\\\x10Q\\xb3\\x93\\xd8du\\xebF\\xa2\\xe5\\xbbZ\\\\t\\xf7\\xb2\\xc2\\x17\\x17~pp8u\\xc0#\\xf3\\xa6\\xc20Oub\\xa9\\xd6X\\xa8 |\\xd9$s\\x80\\x0f\\xaf\\x15\\r\\x97\\xecH\\x7f\\xb4\\'\\xb9\\xb8\\xdc\\xc4\\xca\\xed\\xc0P:\\xfap)#EN0\\x8d\\xb6E\\xdb]*{\\x94I\\x0b\\xa926\\x15FX\\x93\\xeaH\\xe0\\x0f\\xc6\\xae\\xc6\\x13\\xaf\\x08\\xb6\\x92\\xd8\\x92\\xf6\\x08mn\\x85\\xad\\xf0\\x86\\\\`\\xf9\\x88v\\x13\\xf8\\xff\\x00\\x8d\\'\\x1b\\xf5.\\x93ua\\xcf\\x04\\xd1-\\xd8\\xb4\\xb4\\x8d\\xa5\\xb3\\x102\\x0cm\\x8c \\xf3\\x0f\\xaf\\'9\\xc7\\xb1\\xfc\\x05a\\xcc\\xd3\\xb3O\\xd4\\xd2\\x0b\\x9b\\xdd\\xa9\\x1d\\x7f\\x03\\x9dmbV\\xba\\x12N\\xef0\\r\\xb9U\\xd8\\xed_\\\\\\x01\\xfc\\xbaU4\\xd7\\xc3\\xb9\\xd7\\xec \\x95\\xa2\\xac\\x86j\\xae\\xda\\x94\\xfej\\x95\\x88:\\xeeU)\\xb0\\x05\\xfe\\xa7\\xb7N\\xd5\\x8cd\\xe2\\xac\\xdd\\xcb\\x84T\\x15\\x91\\x98\\xb2\\xcd\\x00X\\x89\\n\\xb9\\xc9\\x07\\x9a{\\xe8j\\xfb\\x8f\\x11\\x05\\xf9\\xa6\\x7f1\\xba\\x85$\\xe0\\x8f\\xf3\\x8a\\x1ai\\x93~\\xc2K\\x1b\\xac!\\xbe\\xcaQz\\xef\\xdaG\\xa7z,\\xc3\\x99^\\xd7+\\xaa\\xb4\\x84\\x05\\x19=0)Y\\xb2\\x9b\\xb6\\xe2H\\x85\\x18\\xab\\x0c0\\xea(\\xd87&dE\\xb5V\\x0e\\x1aR\\xdc\\xa9^\\x83\\xeb\\xfd+ge\\x13%w+[B7\\x91\\xa49v,GL\\x9a\\xc5\\xb6\\xf74I-\\x86\\xfa\\xd1q\\x9b\\x10\\xdb\\x8b-(\\xbf\\x06\\xe2\\xe8a\\x07\\xf7W=s\\xef\\xcf\\x1fJ\\xabs\\xc9F&\\r\\xdeZ\\xf4\\x0b!4\\x1108\\xf9\\x9b?ww\\xf5\\xf6\\xab\\xf6s\\xec)Y\\x98\\xe67*_\\x07\\x03\\xbfJ\\xbeV\\x95\\xcdy\\x93v\\x1b\\xb3p\\'\\x8e=\\xea-\\xa1w\\xe8&\\x0e*n1\\xca\\x9b\\x9b\\x1d\\xcfA\\xebM+\\xbb\\t\\xbb+\\x88\\xe0\\xe7\\xa6=\\xa9\\xee\\xc1l!\\x1c\\xd3z\\x02\\xd8rr\\x0f\\\\R\\x93\\xd0]E\\xdb\\x9a\\x8b\\x8e\\xe3\\x923\\x9f\\xf1\\xaaI\\xb169p1\\x90\\t\\xf4\\xc5ZH\\x87\\xe4I5\\xbal\\xdc\\xb9 u\\xf6\\xf4\\xa1\\xc5-P\\x94\\x9e\\xcca\\xb6+\\x92[h\\x1d\\xcd>[\\x075\\xcbVZ\\x94\\xd6`\\xc6\\x7f}\\x0e~\\xe7P\\x0f\\xadR\\x93\\x89\\x12\\xa7\\x19k\\xb35o5\\xbby`(c\\x12G \\xf9\\xd4p\\xc8GB+g4\\xd1\\xcd\\x1a2\\x8b\\xbaz\\xa3#!F\\xe5m\\xc8O\\x04\\xf0\\x7f*\\xc8\\xebN\\xfb\\x92$\\xbcQa8\\xdc\\xb1\\r\\xdb\\xc6\\xdf,\\x8c\\x99\\xeaG\\xf5\\xa3c9SM\\x1a6\\xd3\\x1b\\xa5E\\x93\\x04\\xb1\\xe0\\x8e\\xbf_\\xd6\\x99\\xcf(\\xf2\\xde\\xc5R\\xcc\\xd8]\\xc1\\x1b8\\xc1<T\\x9a[\\xa8lDS\\xbee\\xc6:/\\xaf\\xad\\x16\\r^\\xc8\\x91\\xe5D\\x8d6mg\\xc9\\xda\\xd2\\x1e\\x83\\xe9T\\x90\\x94[z\\x8a\\xf7\\xd2\\xde D\\xb7\\x89\\xf6s\\xbe8\\xf0qI\\xbb\\x92\\xa9\\xa8;\\xb7\\xf8\\x9ak~\\xba}\\xb7\\x97\\x1cIkp\\xc3-\\xc1pz\\xf1\\xceE;\\xb3\\x99\\xd2u%y;\\xaf\\xb8?\\xb7\\x99\\xe1c\\'\\xceQB\\x94a\\xc2\\xf6\\xe3\\x1c\\xff\\x00\\x9fAP\\xf4\\xdc>\\xab\\x1b\\xe8e\\xc8c\\xb8\\xb6g\\x95\\xd62\\x0e\\x11\\x1b%\\x8f\\xf7\\x89=\\x85f\\xea$\\xd2\\xb1\\xe8B2\\x83\\xb2\"\\xb5\\x06DdIwD\\xc7\\x90\\x0eEk\\xba\\xd0\\xd1\\xda\\xf7{\\x8e\\xb8\\xd1I\\xc9V\\x07\\xf1\\xa8)TE_\\xec\\xeb\\xa0\\xa2=\\xe1QA\\xc0?\\xe7\\xde\\xb3\\x94:\\xa2\\xb9\\x92\\xe8\\x0f\\xa1\\x95R\\xf2I\\xbc\\x9e\\xa1M%\\x14J\\x9d\\xdd\\xac2\\x15\\xfb\\x03\\x87\\x8b!\\x94\\xe4d\\xe7\\x9f_\\xd6\\xb6J\\xc3k\\x99Y\\x96\\xc7\\x88\\xa5\\xb7B%\\x88H\\xaf\\xfc$\\xf5\\xa5%\\x1b]\\xa3/b\\x9e\\xcc\\xc8\\xba\\xbaI\\xf0c\\x81 \\xe4\\x92\\xa9\\x93\\x9f\\xcf\\xf9t\\xacoce\\x16\\xb7w\\x08\\xee\\x14|\\xcd\\x1a\\xca\\xc0\\x11\\xf3\\xb1\\x04{\\x8a\\xb4\\xd1./d\\xecW\\xac\\x99\\xb0\\xe8\\xd7{\\x81\\x90;\\xfc\\xc7\\x8a\\xd21\\xe6&N\\xc5\\x98\\xedD\\xd7K\\x03\\'\\x96\\xdb\\x80f\\x0f\\x95\\x00\\x9cf\\xad\\xa4\\x9d\\xacg\\xcd\\xee\\xf3&h=\\x9aN\\xfb\\x98\\x91\\x1c\\x04\\xc6U\\x88\\x00\\xe3\\xa1\\xcfq\\x8c~~\\xf5\\xcc\\xdb\\xdckEb\\xa5\\xf5\\xf6\\xcb\\x97[a\\xb2.\\xa0I\\x18\\x04\\xe7\\x9c\\xf7\\xfet\\xd5\\xfb\\x97\\xca\\xba\\x9f\\xff\\xd9'\n"
     ]
    },
    {
     "ename": "FileNotFoundError",
     "evalue": "[Errno 2] No such file or directory: 'bg/qzdqvr.jpg'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-15-6dd12086a193>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     23\u001b[0m     \u001b[0mtitle\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimg_url\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'/'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     24\u001b[0m     \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimg_url\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 25\u001b[1;33m     \u001b[0msave_image\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimg_url\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m<ipython-input-15-6dd12086a193>\u001b[0m in \u001b[0;36msave_image\u001b[1;34m(url, title)\u001b[0m\n\u001b[0;32m      7\u001b[0m     \u001b[0mimg_response\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrequests\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0murl\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      8\u001b[0m     \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimg_response\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcontent\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 9\u001b[1;33m     \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'bg/'\u001b[0m\u001b[1;33m+\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'wb'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mfile\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     10\u001b[0m         \u001b[0mfile\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimg_response\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcontent\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     11\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'bg/qzdqvr.jpg'"
     ]
    }
   ],
   "source": [
    "from requests_html import HTMLSession\n",
    "import requests\n",
    "\n",
    "\n",
    "# 保存图片到bg/目录\n",
    "def save_image(url, title):\n",
    "    img_response = requests.get(url)\n",
    "    print(img_response.content)\n",
    "    with open('bg/'+title, 'wb') as file:\n",
    "        file.write(img_response.content)\n",
    "\n",
    "# 背景图片地址\n",
    "url = \"https://wallhaven.cc/\"\n",
    "\n",
    "session = HTMLSession()\n",
    "r = session.get(url)\n",
    "\n",
    "# 查找页面中背景图，找到链接，访问查看大图，并获取大图地址\n",
    "items_img = r.html.find('span.sm-thumb > a >img')\n",
    "# print(items_img)\n",
    "for img in items_img:\n",
    "    img_url = img.attrs['src']\n",
    "    title = img_url.split('/')[-1]\n",
    "    print(img_url,title)\n",
    "    save_image(img_url,title)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "184dec95",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a6672a64",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "257.438px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
